手把手教你利用Python輕松拆分Excel為多個(gè)CSV文件
點(diǎn)擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注
回復(fù)“書籍”即可獲贈(zèng)Python從入門到進(jìn)階共10本電子書
一、前言
在日常生活或者工作中的時(shí)候,我們偶爾會(huì)遇到這樣一種讓人頭大的情況——當(dāng)單個(gè)Excel文件較大或需要根據(jù)某一列的內(nèi)容需要拆分為多個(gè)CSV文件時(shí),用Excel的篩選功能去慢慢篩選雖然可行,但是來回反復(fù)倒騰工作量就比較大了。不過小伙伴們不用驚慌,其實(shí)這個(gè)情況我們只需要用Python幾行代碼就能實(shí)現(xiàn)!一起來看看吧~
二、項(xiàng)目目標(biāo)
將單個(gè)Excel文件拆分為多個(gè)CSV文件或根據(jù)某一列的內(nèi)容拆分為多個(gè)CSV文件。
三、項(xiàng)目準(zhǔn)備
軟件:PyCharm
需要的庫:tkinter, pandas,xlrd
四、項(xiàng)目分析
1)如何選擇目標(biāo)文件?
利用tkinter庫中的filedialog,進(jìn)行要處理的目標(biāo)文件選擇。
2)如何讀取Excel文件?
利用xlrd庫進(jìn)行Excel讀取,獲取要處理的目標(biāo)Sheet。
3)如何篩選列內(nèi)容?
利用pandas庫進(jìn)行列內(nèi)容的篩選處理,得到拆分后的數(shù)據(jù)。
4)如何保存文件?
利用to_csv()保存數(shù)據(jù),得到最終拆分后的目標(biāo)文件。
五、項(xiàng)目實(shí)現(xiàn)
1、第一步導(dǎo)入需要的庫
from tkinter import filedialogimport pandas as pdimport xlrd
2、第二步選擇目標(biāo)文件
path?=?filedialog.askopenfilename().replace('/',?'\\')first_file_fh=xlrd.open_workbook(path)#?選擇要拆分的文件first_file_sheet=first_file_fh.sheets()
3、第三步讀取Excel文件
?for sheetname in first_file_sheet:sheet_names.append(sheetname.name)df = pd.read_excel(path, sheet_name=sheet_names[0])
4、第四步根據(jù)某列的內(nèi)容進(jìn)行篩選并保存
for c in list_c:# 根據(jù)列的內(nèi)容循環(huán)讀取df2=df[df['地市']==c]# 根據(jù)列的內(nèi)容進(jìn)行篩選df2.to_CSV('./excel_CSV/auto_ok/32_'+c+'.CSV', encoding='gbk',index=None)# 篩選后的內(nèi)容保存為CSV
六、效果展示
1、處理前Excel數(shù)據(jù):

2、最終拆分后CSV文件保存結(jié)果:

3、為了方便大家進(jìn)行操作,小編錄制了一個(gè)小視頻,歡迎大家動(dòng)動(dòng)手去跟著實(shí)踐一下,如果覺得不錯(cuò),記得點(diǎn)個(gè)贊吶~
七、總結(jié)
本文介紹了如何利用Python對Excel文件進(jìn)行拆分處理,實(shí)現(xiàn)可以根據(jù)任意列的內(nèi)容進(jìn)行拆分。輕輕松松幾行Python代碼就能實(shí)現(xiàn),好玩吧。
最后需要本文項(xiàng)目代碼的小伙伴,請?jiān)诠娞柡笈_回復(fù)“拆分文件”關(guān)鍵字進(jìn)行獲取,如果在運(yùn)行過程中有遇到任何問題,請隨時(shí)留言或者加小編好友,小編看到會(huì)幫助大家解決bug噢!
-------------------?End?-------------------
往期精彩文章推薦:

歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請?jiān)诤笈_回復(fù)【入群】
萬水千山總是情,點(diǎn)個(gè)【在看】行不行
/今日留言主題/
隨便說一兩句吧~~
