2016-07-22 30 views
1

我在我的Excel工作簿中有兩張表。第一個工作表包含用於創建數據透視表的數據,第二個工作表可以在代碼的這一部分中看到。我希望我的數據透視表被繪製到我創建的新工作表(工作表2)中。數據透視表沒有寫入預先存在的表

當我運行我的代碼時,我的excel文件包含我的數據表,然後是一個名爲'數據透視表'的空白表。我怎樣才能讓我的數據透視表進入'數據透視表'表格?這可能是一個非常簡單的問題,但我今天剛開始使用熊貓。我的透視表確實得到了正確的創建。我打印了它來測試它並確保它。

謝謝。

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

你可以做到這一點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() 
+0

我仍然保持我行,我創建了第二個工作表? – Harrison

+0

@ hleggs,我已經更新了我的答案 - 它應該替換整個區塊,您提供了... – MaxU