解決Pandas的to_excel()寫入不同Sheet,而不會被重寫
阿新 • • 發佈:2020-12-22
技術標籤:exceljavajavascript資料庫elasticsearch
一、概述
在使用Pandas的to_excel()方法寫入資料時,當我們想將多個數據寫入一個Excel表的不同DataFrame中,雖然能夠指定sheet_name引數,但是會重寫整個Excel之後才會儲存。
現在有3個sheet,內容如下:
>>> import pandas as pd >>> df1 = pd.read_excel('456.xlsx', sheet_name='Sheet1') >>> df2 = pd.read_excel('456.xlsx', sheet_name='Sheet2') >>> df3 = pd.read_excel('456.xlsx', sheet_name='Sheet3') >>> df1 姓名 性別 年齡 0 張三 男 23 1 李四 男 25 2 王五 男 21 >>> df2 姓名 身高 體重 0 張三 170 130 1 李四 171 126 2 王五 165 140 >>> df3 姓名 收入 0 張三 4000 1 李四 4500 2 王五 5000 >>>
一般情況下:
>>> df1.to_excel('789.xlsx', sheet_name='Sheet1', index=False, header=True)
>>> df2.to_excel('789.xlsx', sheet_name='Sheet2', index=False, header=True)
>>> df3.to_excel('789.xlsx', sheet_name='Sheet3', index=False, header=True)
結果如下:
只有最後一個儲存的內飾資料,並不符合我們的需求。
二、解決方法
使用新的方式儲存
with pd.ExcelWriter('789.xlsx') as writer:
df1.to_excel(writer, sheet_name='Sheet1', index=False, header=True)
df2.to_excel(writer, sheet_name='Sheet2', index=False, header=True)
df3.to_excel(writer, sheet_name='Sheet3', index=False, header=True)
結果如下:
實現插入相同Excel表中不同Sheet_name!
本文參考連結:
https://blog.csdn.net/weixin_43060843/article/details/100766677