[英]Append dataframes to multiple Excel sheets
我正在尝试将 append 3 个数据帧添加到 Excel 文件中的 3 个现有工作表(每张工作表一个 dataframe)。
这是我的代码:
with pd.ExcelWriter(output_path, mode="a", if_sheet_exists="overlay") as writer:
df_a.to_excel(writer, sheet_name="A", index=False)
df_b.to_excel(writer, sheet_name="B", index=False)
df_c.to_excel(writer, sheet_name="C", index=False)
但是,新数据会覆盖旧数据,而不是附加到相应工作表的末尾。 请注意,我设置mode="a"
和if_sheet_exists="overlay"
,但它会覆盖并且不会覆盖 append。
我应该如何解决它?
我猜想从 Excel 读取数据帧,然后将数据附加到 df,然后将它们写回就可以了...
您必须找到最后一行并在其后放置新的 dataframe。 假设您有一些数据和所有标题,您可以进行如下测试:
with pd.ExcelWriter(output_path, mode="a", if_sheet_exists="overlay") as writer:
# getting last row from Sheet "A" and adding 1 as a starting row
lrow = pd.read_excel(output_path, sheet_name="A").shape[0]+1
# startrow statement at the end of the code shows there to start placing new data
dff.to_excel(writer, sheet_name="A", index=False,header=False,startrow=lrow)
function .shape
给出了行数和列数,例如 (1235,66), - 使用.shape[0]
,只取行数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.