繁体   English   中英

Append 数据帧到多个 Excel 表

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

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