2016-07-22 8 views
1

私のExcelワークブックに2枚あります。最初のシートには、ピボットテーブルを作成するためのデータが含まれています.2番目のシートは、コードのこのセクションで作成したものです。ピボットテーブルを私が作成した新しいシートに引っ張りたい(ワークシート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

私はまだ、私は2番目のワークシートを作成し、私のラインを保つのですか? – Harrison

+0

@hleggs、私は私の答えを更新しました - それはブロック全体を置き換える必要があります... – MaxU

関連する問題