2017-03-15 2 views
2

두 번째 시트의 한 열에 피벗 테이블을 넣으려고합니다. 그러나 세부 정보 시트는 xlsxwriter가 덮어 씁니다.xlsxwriter가 이전 시트를 덮어 씁니다.

pivot = pd.pivot_table(df2, index=['Customer_Name'], values=['Billed_Net_Value', 'Sales_Order_Net_Value', 'Open_Amount'], aggfunc=np.sum) 
writer = pd.ExcelWriter('SAP.xlsx', engine='xlsxwriter') 
pivot.to_excel(writer, sheet_name='Pivot') 
writer.save() 

filename = 'SAP.xlsx' 
workbook = xlsxwriter.Workbook(filename) 
worksheet = workbook.add_worksheet('Detail') 

답변

1

Workbook() 생성자 팬더에서 만든 파일을 덮어 새 파일을 만듭니다.

통합 문서에 다른 dataframes을 추가 할 경우이 같은 다른 워크 시트 이름 to_excel()를 호출 할 수 있습니다

writer = pd.ExcelWriter('SAP.xlsx', engine='xlsxwriter') 

pivot.to_excel(writer, sheet_name='Pivot') 
df2.to_excel(writer, sheet_name='Sheet2') 
writer.save() 

다음과 같이 당신이 그것을 할 수있는 API XlsxWriter를 사용하여 워크 시트를 추가하려면 :

writer = pd.ExcelWriter('SAP.xlsx', engine='xlsxwriter') 

pivot.to_excel(writer, sheet_name='Pivot') 

workbook = writer.book 
worksheet = workbook.add_worksheet('Detail') 
writer.save() 

또한 XlsxWriter 문서의 Working with Pandas을 참조하십시오.

2

난 당신이 단순히 .save() 전화를 연기하여이 작업을 수행 할 수 있다고 생각 : 당신의 예에서

pivot = pd.pivot_table(df2, index=['Customer_Name'], values=['Billed_Net_Value', 'Sales_Order_Net_Value', 'Open_Amount'], aggfunc=np.sum) 
writer = pd.ExcelWriter('SAP.xlsx', engine='xlsxwriter') 
pivot.to_excel(writer, sheet_name='Pivot') 
df2.to_excel(writer, sheet_name='Detail') 
writer.save() 
+0

작동하지 않았습니다. 시트를 덮어 씁니다. – nomad

관련 문제