数据透视表未写入预先存在的工作表

时间:2016-07-22 18:40:58

标签: python pandas

我的Excel工作簿中有两张。第一个工作表包含用于制作数据透视表的数据,第二个工作表包含我在代码的此部分中创建的内容。我希望将我的数据透视表绘制到我创建的新工作表中(工作表2)。

当我运行我的代码时,我的excel文件包含我的数据表,然后是一个名为“Pivot Table”的空白表。如何将我的数据透视表放入“数据透视表”表?这可能是一个非常简单的问题,但我今天刚刚开始使用大熊猫。我的数据透视表确实正确创建。我打印出来测试它并确保它。

感谢。

excel = pd.ExcelFile(filename)
df = pd.read_excel(filename, usecols=['Product Description', 'Supervisor'])

table1 = df[['Product Description', 'Supervisor']].pivot_table(index='Supervisor', columns='Product Description', aggfunc=len, fill_value=0, margins=True, margins_name='Grand Total')

worksheet2 = workbook.create_sheet()
worksheet2.title = 'Pivot Table'
worksheet2 = workbook.active

writer = pd.ExcelWriter(filename, engine='xlsxwriter')
table1.to_excel(writer, worksheet2.title )

writer.save()
workbook.save(filename)

1 个答案:

答案 0 :(得分:1)

你可以this way

df = pd.read_excel(filename, usecols=['Product Description', 'Supervisor'])

table1 = df.pivot_table(index='Supervisor', columns='Product Description', aggfunc=len, fill_value=0, margins=True, margins_name='Grand Total')

writer = pd.ExcelWriter(filename, engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
table1.to_excel(writer, 'Pivot Table')
writer.save()