[英]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.