最近在工作的时候需要追加写Excel,但是在百度上搜的都不是pandas 最新的版本,都是旧版本,官网给的列子也骗我,只好自己去读源码,找原因,今天把这个记录下来,省着以后再忘。
Python版本:3.9
pandas版本:1.3.0
首先呢,创造一下数据:
from pandas import ExcelWriter import pandas as pd df = pd.DataFrame([i for i in range(1, 10)]) with ExcelWriter("path_to_file.xlsx", mode="w", engine="openpyxl") as writer: df.to_excel(writer, sheet_name="Sheet31", index_label="数据")
得到的样本数据为:
得到如图所示的数据
然后我们进行追加操作:
with ExcelWriter("path_to_file.xlsx", mode="a", engine="openpyxl") as writer: writer.if_sheet_exists = "replace" # 在此版本的pandas 中,加入的这个属性,他有三个值:now , replace, error 这三个属性分别对应着:创建新的sheet,替换当前sheet里面的内容,当存在sheet 时,抛出异常 df1 = pd.read_excel("path_to_file.xlsx", index_col="数据") # 由于没有找到好的方法,所以我们读出之前文件的内容 f = [df1, df] result = pd.concat(f, axis=0) # 将两个文件concat,也就是合并 result.to_excel(writer, sheet_name="Sheet31", index_label="数据") # 保存 注意:index_label必须要和上面的index_col相同,不然下次读文件的时候会出index_col不存在的错误
参考图片
致辞,敬礼!博客园原创,引用请贴出原文链接。感谢支持。