使用python将数据添加到现有Excel文件

时间:2018-02-18 06:40:18

标签: python excel pandas openpyxl

我需要将一些数据添加到现有的Excel文件中。我的脚本只将数据添加到新工作表中。当我尝试写入现有文件的现有工作表(例如template)时,会创建两个不同的工作表(例如templatetemplate 1)。我该如何防止这种情况?

precios_read = pd.read_excel('Precios_{}.xls'.format(auth2), sheet_name='Precios')

book = load_workbook('Template_sugerencia.xlsx')
writer = pd.ExcelWriter('Template_sugerencia.xlsx', engine='openpyxl')
writer.book = writer
precios_read.to_excel(writer, sheet_name='template', startcol=12, startrow=5, index=False, merge_cells = True)
Recom.to_excel(writer, sheet_name='template', startcol=0, startrow=5, index=False, merge_cells = True)
writer.save()

1 个答案:

答案 0 :(得分:0)

对于XLSX,pandas.ExcelWriter.book应该是openpyxl.workbook.Workbook,您实际拥有但不在任何地方使用:

book = load_workbook('Template_sugerencia.xlsx')
writer = pd.ExcelWriter('Template_sugerencia.xlsx', engine='openpyxl')
writer.book = book
precios_read.to_excel(...)

如果您没有隐式设置writer.book = book,pandas will make a new one