1. 程式人生 > 其它 >解決Pandas的to_excel()寫入不同Sheet,而不會被重寫

解決Pandas的to_excel()寫入不同Sheet,而不會被重寫

技術標籤: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