writer.sheets['表格名字']
writer=pd.ExcelWriter(error_report_path,engine='xlsxwriter')
df = pd.DataFrame(error_info1, columns=col)
df.to_excel(writer,index=False,sheet_name='新BOM vs 旧BOM'',startcol=7,startrow=1)
worksheet=writer.sheets['新BOM vs 旧BOM'] # 拿到新表格对象
pandas如何在现有的Excel表格上新建工作表并添加dataframe
使用pandas包把数据结构写入Excel的时候,因为这个方法缺少了一个类似pd.to_csv()中的mode参数,以至于你每次用诸如pd.to_excel的形式取写入一个Excel的时候,系统都会帮你重新创建一个文件。也就是意味着前面的文件会被覆盖掉,你得到的只能是最后一个df写入的结果文件。
我们可以通过创建一个ExcelWriter对象,来完美解决上面的问题。
这个写入对象,会帮我们将DF写入到工作簿中
def export_summary_to_excel(self):
"""生成信息汇总表"""
df=pd.DataFrame()
df.to_excel(self.writer, index=False, sheet_name='report', header=None)
如果想把多个dataframe数据写在同一个工作簿的同一个表里面:利用strartcol和startrow
writer2 = pd.ExcelWriter('test2.xlsx')
df1.to_excel(writer2)
df2.to_excel(writer2,startcol=8)
df3.to_excel(writer2,startrow=10)
df4.to_excel(writer2,startrow=10,startcol=8)
如果已经存在一个Excel文件,怎么填入数据。
import pandas as pd
from openpyxl import load_workbook
book = load_workbook('e:/test11.xlsx')
writer = pd.ExcelWriter("e:/testee.xlsx",engine='openpyxl')
writer.book = book
df1.to_excel(writer,"first")
df2.to_excel(writer,"second")
writer.save()