盤點(diǎn)一個(gè)Python自動(dòng)化辦公的實(shí)戰(zhàn)案例——批量合并Excel文件(上篇)
回復(fù)“書籍”即可獲贈(zèng)Python從入門到進(jìn)階共10本電子書
今
日
雞
湯
青泥何盤盤,百步九折縈巖巒。大家好,我是皮皮。
一、前言前幾天在Python星耀群【維哥】問了一個(gè)Python自動(dòng)化辦公處理的問題,一起來看看吧。
大佬們好,請教一個(gè)Python自動(dòng)化辦公的問題,我有一個(gè)文件夾,里邊有多個(gè)Excel文件,分別是員工8月份績效表格,每一個(gè)表格里邊都是固定的兩列,分別是日期和績效得分,如下圖所示:
現(xiàn)在他想做的是把這些員工的績效表格合并到同一個(gè)Excel表格中去,那么該怎么實(shí)現(xiàn)呢?
二、實(shí)現(xiàn)過程這個(gè)需求其實(shí)在公眾號(hào)的歷史文章里邊有寫過好幾篇,今天群里粉絲又遇到了,這里再整理下發(fā)出來,其實(shí)代碼都是差不多的,只是需要修改下文件路徑,代碼如下所示:
importpandasaspd
importos
file_names=os.listdir("C:/Users/pdcfighting/Desktop/績效")#獲取目標(biāo)文件夾下所有文件名
df1=pd.DataFrame({"日期":[],"績效得分":[]})
forfileinfile_names:#遍歷每個(gè)文件
df2=pd.read_excel("C:/Users/pdcfighting/Desktop/績效/"+file,engine="openpyxl")
df3=pd.concat([df1,df2])#縱向拼接
df1=df3
print(f"{file}已經(jīng)合并!")
print(df1)
df1.to_excel("合并表格.xlsx",engine="openpyxl")
代碼運(yùn)行之后,可以得到預(yù)期的效果,如下圖所示:
順利地解決了粉絲的問題。
這里需要注意兩點(diǎn),如果提示下圖這個(gè)錯(cuò)誤的話,說明你沒有加入openpyxl引擎,一般不加的話,也是可以運(yùn)行的,但是遇到跑不通的話,回來記得加下這個(gè)引擎,就可以解決這個(gè)問題。
第二點(diǎn)更重要,你運(yùn)行的py文件,千萬別和要處理的Excel放在同一個(gè)文件夾下,不然的話,就會(huì)報(bào)下圖的錯(cuò),而且不容易發(fā)現(xiàn)。
相當(dāng)于遍歷文件的時(shí)候把py文件也讀取進(jìn)去了,這樣肯定是會(huì)出錯(cuò)的。為了避免這個(gè)問題,我們下一篇文章給出一個(gè)解決辦法。
三、總結(jié)大家好,我是皮皮。這篇文章主要盤點(diǎn)了一個(gè)Python自動(dòng)化辦公Excel合并處理的問題,文中針對(duì)該問題,給出了具體的解析和代碼實(shí)現(xiàn),幫助粉絲順利解決了問題。
最后感謝粉絲【維哥】提問,感謝【東哥】給出的思路和代碼解析,感謝【莫生氣】等人參與學(xué)習(xí)交流。
【提問補(bǔ)充】溫馨提示,大家在群里提問的時(shí)候??梢宰⒁庀旅鎺c(diǎn):如果涉及到大文件數(shù)據(jù),可以數(shù)據(jù)脫敏后,發(fā)點(diǎn)demo數(shù)據(jù)來(小文件的意思),然后貼點(diǎn)代碼(可以復(fù)制的那種),記得發(fā)報(bào)錯(cuò)截圖(截全)。代碼不多的話,直接發(fā)代碼文字即可,代碼超過50行這樣的話,發(fā)個(gè).py文件就行。
大家在學(xué)習(xí)過程中如果有遇到問題,歡迎隨時(shí)聯(lián)系我解決(我的微信:pdcfighting1),應(yīng)粉絲要求,我創(chuàng)建了一些ChatGPT機(jī)器人交流群和高質(zhì)量的Python付費(fèi)學(xué)習(xí)交流群和付費(fèi)接單群,歡迎大家加入我的Python學(xué)習(xí)交流群和接單群!
小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
-------------------End-------------------
往期精彩文章推薦:
if a and b and c and d:這種代碼有優(yōu)雅的寫法嗎?
Pycharm和Python到底啥關(guān)系?
都說chatGPT編程怎么怎么厲害,今天試了一下,有個(gè)靜態(tài)網(wǎng)頁,chatGPT居然沒搞定?
站不住就準(zhǔn)備加倉,這個(gè)pandas語句該咋寫?
歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請?jiān)诤笈_(tái)回復(fù)【入群】
萬水千山總是情,點(diǎn)個(gè)【在看】行不行
/今日留言主題/
隨便說一兩句吧~~
關(guān)鍵詞:
相關(guān)閱讀
-
盤點(diǎn)一個(gè)Python自動(dòng)化辦公的實(shí)戰(zhàn)案例—...
點(diǎn)擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注回復(fù)“書籍”即可獲贈(zèng)P... -
盤點(diǎn)一個(gè)Python自動(dòng)化辦公的實(shí)戰(zhàn)案例—...
點(diǎn)擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注回復(fù)“書籍”即可獲贈(zèng)P... -
盤點(diǎn)一個(gè)Python自動(dòng)化辦公的需求——將...
點(diǎn)擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注回復(fù)“書籍”即可獲贈(zèng)P... -
Pandas實(shí)戰(zhàn)——靈活使用pandas基礎(chǔ)知識(shí)...
點(diǎn)擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注回復(fù)“書籍”即可獲贈(zèng)P... -
使用Pandas返回每個(gè)個(gè)體/記錄中屬性為1...
點(diǎn)擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注回復(fù)“書籍”即可獲贈(zèng)P... -
如何快速做出高級(jí)感 BI 大屏?讀完這...
在當(dāng)今這個(gè)數(shù)據(jù)驅(qū)動(dòng)的時(shí)代,BI大屏成為了大部分公司企業(yè)展示數(shù)據(jù),洞察