2016-07-22 5 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

관련 문제