我正在尝试使用pandas数据框直接在excel中创建条形图。在同一输出excel中,我想将用于条形图的原始csv保存在单独的工作表中。我的代码:
wb = openpyxl.Workbook()
ws = wb.active
for row in dataframe_to_rows(new_df, index=False, header=False):
ws.append(row)
chart = BarChart()
values = Reference(ws, min_col=1, min_row=1, max_col=2, max_row=ws.max_row)
labels = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=ws.max_row)
chart.add_data(values)
chart.set_categories(labels)
ws.add_chart(chart, "E2")
wb.save("~/barChart.xlsx")
writer = pd.ExcelWriter("~/barChart.xlsx", engine='openpyxl')
df.to_excel(writer, sheet_name="Source_data")
writer.save()
我遇到的问题是最后三行,它覆盖了生成的条形图。我该如何克服?
答案 0 :(得分:1)
来自熊猫documentation:
ExcelWriter也可以用于附加到现有的Excel文件:
with pd.ExcelWriter('output.xlsx', mode='a') as writer:
df.to_excel(writer, sheet_name='Sheet_name_3')