學(xué)會一招!如何利用 pandas 批量合并 Excel?

大家好,我是菜鳥哥!
今天分享一個利用Pandas進(jìn)行數(shù)據(jù)分析的小技巧,也是之前有粉絲在后臺進(jìn)行提問的,即如何將多個pandas.dataframe保存到同一個Excel中。
其實只需要靈活使用pandas中的pd.ExcelWriter()方法即可!
假設(shè)現(xiàn)在我們有df1 df2 df3三個dataframe,需要將它們保存到同一個Excel的不同sheet中,只需要先創(chuàng)建一個ExcelWriter對象,然后不停寫入就行
df1 = pd.read_csv('東京奧運會獎牌數(shù)據(jù).csv')
df2 = pd.read_excel("TOP250.xlsx")
df3 = pd.read_excel("2020年中國大學(xué)排名.xlsx")
writer = pd.ExcelWriter('test.xlsx')
df1.to_excel(writer,sheet_name="df1",index=False)
df2.to_excel(writer,sheet_name="df2",index=False)
df3.to_excel(writer,sheet_name="df3",index=False)
writer.save()
是不是和常見的文件讀寫with方法類似,我們也可以使用同樣的方法
with pd.ExcelWriter("test1.xlsx") as xlsxwriter:
df1.to_excel(xlsxwriter,sheet_name="df1",index=False)
df2.to_excel(xlsxwriter,sheet_name="df2",index=False)
df3.to_excel(xlsxwriter,sheet_name="df3",index=False)
得到的結(jié)果是一樣的,可以將多個df保存到一個Excel中
這個方法雖然簡單好用,但是如果要保存的 df 太多了,一個一個手動去讀取再手動去保存就顯得十分麻煩,另外我們希望sheet是文件名,如果手動復(fù)制粘貼,就更麻煩了。
這時,辦公自動化系列的文章就發(fā)揮作用了,我們先簡單拿來一個小腳本「獲取指定目錄下的全部Excel文件名」
import os
def getfile(dirpath):
filelist = []
for root,dirs,files in os.walk(dirpath):
for file in files:
if file.endswith("xlsx") or file.endswith("csv"):
filelist.append(os.path.join(root,file))
return filelist
執(zhí)行一下,可以看到指定目錄下的全部Excel文件名
下面要做的,我想不用多說了「循環(huán)讀取,自動保存」
filelist = getfile('/Users/liuzaoqi/Desktop/zaoqi/2022公眾號文章/如何保存多個df')
writer = pd.ExcelWriter('test.xlsx')
for file in filelist:
if file.endswith("xlsx"):
df = pd.read_excel(file)
else:
df = pd.read_csv(file)
df.to_excel(writer,sheet_name=file.split('/')[-1].split('.')[0],index=False)
writer.save()
現(xiàn)在,當(dāng)前目錄下的全部Excel就自動合并到一個Excel中的不同sheet中,并且sheet名是對應(yīng)的文件名
如果你對本文的內(nèi)容感興趣,不妨拿走代碼試一下,如果你還有pandas相關(guān)問題,歡迎在評論區(qū)留言。
推薦閱讀:
入門: 最全的零基礎(chǔ)學(xué)Python的問題 | 零基礎(chǔ)學(xué)了8個月的Python | 實戰(zhàn)項目 |學(xué)Python就是這條捷徑
干貨:爬取豆瓣短評,電影《后來的我們》 | 38年NBA最佳球員分析 | 從萬眾期待到口碑撲街!唐探3令人失望 | 笑看新倚天屠龍記 | 燈謎答題王 |用Python做個海量小姐姐素描圖 |碟中諜這么火,我用機器學(xué)習(xí)做個迷你推薦系統(tǒng)電影
趣味:彈球游戲 | 九宮格 | 漂亮的花 | 兩百行Python《天天酷跑》游戲!
AI: 會做詩的機器人 | 給圖片上色 | 預(yù)測收入 | 碟中諜這么火,我用機器學(xué)習(xí)做個迷你推薦系統(tǒng)電影
小工具: Pdf轉(zhuǎn)Word,輕松搞定表格和水印! | 一鍵把html網(wǎng)頁保存為pdf!| 再見PDF提取收費! | 用90行代碼打造最強PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換 | 制作一款釘釘?shù)蛢r機票提示器! |60行代碼做了一個語音壁紙切換器天天看小姐姐!|
年度爆款文案
點閱讀原文,看B站我的20個視頻!

