程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

妙招!如何用Python巧妙的批量合並 Excel!

編輯:Python

今天分享一個利用Pandas進行數據分析的小技巧,也是之前有粉絲在後台進行提問的,即如何將多個pandas.dataframe保存到同一個Excel中。

其實只需要靈活使用pandas中的pd.ExcelWriter()方法即可。

假設現在我們有df1 df2 df3三個dataframe,需要將它們保存到同一個Excel的不同sheet中,只需要先創建一個ExcelWriter對象,然後不停寫入就行

df1 = pd.read_csv('東京奧運會獎牌數據.csv')
df2 = pd.read_excel("TOP250.xlsx")
df3 = pd.read_excel("2020年中國大學排名.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)

得到的結果是一樣的,可以將多個df保存到一個Excel中

這個方法雖然簡單好用,但是如果要保存的 df 太多了,一個一個手動去讀取再手動去保存就顯得十分麻煩,另外我們希望sheet是文件名,如果手動復制粘貼,就更麻煩了。

我們先簡單拿來一個小腳本「獲取指定目錄下的全部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

執行一下,可以看到指定目錄下的全部Excel文件名

下面要做的,我想不用多說了「循環讀取,自動保存」

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()

現在,當前目錄下的全部Excel就自動合並到一個Excel中的不同sheet中,並且sheet名是對應的文件名

來源:早起python

推薦閱讀:
入門: 最全的零基礎學Python的問題  | 零基礎學了8個月的Python  | 實戰項目 |學Python就是這條捷徑
干貨:爬取豆瓣短評,電影《後來的我們》 | 38年NBA最佳球員分析 |   從萬眾期待到口碑撲街!唐探3令人失望  | 笑看新倚天屠龍記 | 燈謎答題王 |用Python做個海量小姐姐素描圖 |碟中諜這麼火,我用機器學習做個迷你推薦系統電影
趣味:彈球游戲  | 九宮格  | 漂亮的花 | 兩百行Python《天天酷跑》游戲!
AI: 會做詩的機器人 | 給圖片上色 | 預測收入 | 碟中諜這麼火,我用機器學習做個迷你推薦系統電影
小工具: Pdf轉Word,輕松搞定表格和水印! | 一鍵把html網頁保存為pdf!|  再見PDF提取收費! | 用90行代碼打造最強PDF轉換器,word、PPT、excel、markdown、html一鍵轉換 | 制作一款釘釘低價機票提示器! |60行代碼做了一個語音壁紙切換器天天看小姐姐!|

年度爆款文案

  • 1).臥槽!Pdf轉Word用Python輕松搞定!

  • 2).學Python真香!我用100行代碼做了個網站,幫人PS旅行圖片,賺個雞腿吃

  • 3).首播過億,火爆全網,我分析了《乘風破浪的姐姐》,發現了這些秘密 

  • 4).80行代碼!用Python做一個哆來A夢分身 

  • 5).你必須掌握的20個python代碼,短小精悍,用處無窮 

  • 6).30個Python奇淫技巧集 

  • 7).我總結的80頁《菜鳥學Python精選干貨.pdf》,都是干貨 

  • 8).再見Python!我要學Go了!2500字深度分析!

  • 9).發現一個舔狗福利!這個Python爬蟲神器太爽了,自動下載妹子圖片

點閱讀原文,看B站我的20個視頻!


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved