繁体   English   中英

在 For 循环中将行打印到 Excel 文件 - Python

[英]Printing Rows to Excel File in a For Loop - Python

我有一个 for 循环,它遍历 dataframe 中的一组学生并取回他们的 ID 和出勤率:

for i in FinalDataset.index:
    student = FinalDataset.loc[i,'students']
    AttendanceSoFar = FinalDataset.loc[i,'OverallAttCurrent']

    data = [[student, AttendanceSoFar]]
    InsertionData = pd.DataFrame(data, columns=['student', 'AttendanceSoFar'])
    InsertionData.to_excel("Result.xlsx")

然后,我将这些详细信息放入名为 InsertionData 的 dataframe 中,并创建一个包含该数据的 excel 电子表格。但是目前它会创建多个电子表格。 我只想在每次循环时添加一个新行。 有谁知道如何做到这一点?

PS - 在我的实际代码中,我还执行多个计算并添加新变量,这就是为什么我不能只删除当前 dataframe 中的列并使用它。

The problem is well explained in this tutorial: How to add rows in a DataFrame using dataframe.append() & loc[], iloc[] or Add one row to pandas DataFrame

这是您的代码段中的一个简单示例:

# Create output dataframe
OutputData = pd.DataFrame(columns=['student', 'AttendanceSoFar'])
for i in FinalDataset.index:
    # computations ...
    # Select student and OverallAttCurrent
    student = FinalDataset.loc[i, 'students']
    AttendanceSoFar = FinalDataset.loc[i, 'OverallAttCurrent']

    # Add the data in the output
    OutputData = OutputData.append(
        {"student": student, "AttendanceSoFar": AttendanceSoFar}, ignore_index=True)

# Export to excel
OutputData.to_excel("Result.xlsx")

希望有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM