手把手教你利用Python輕松拆分Excel為多個(gè)CSV文件
一、前言
在日常生活或者工作中的時(shí)候,我們偶爾會(huì)遇到這樣一種讓人頭大的情況——當(dāng)單個(gè)Excel文件較大或需要根據(jù)某一列的內(nèi)容需要拆分為多個(gè)CSV文件時(shí),用Excel的篩選功能去慢慢篩選雖然可行,但是來(lái)回反復(fù)倒騰工作量就比較大了。不過(guò)小伙伴們不用驚慌,其實(shí)這個(gè)情況我們只需要用Python幾行代碼就能實(shí)現(xiàn)!一起來(lái)看看吧~
二、項(xiàng)目目標(biāo)
將單個(gè)Excel文件拆分為多個(gè)CSV文件或根據(jù)某一列的內(nèi)容拆分為多個(gè)CSV文件。
三、項(xiàng)目準(zhǔn)備
軟件:PyCharm
需要的庫(kù):tkinter, pandas,xlrd
四、項(xiàng)目分析
1)如何選擇目標(biāo)文件?
利用tkinter庫(kù)中的filedialog,進(jìn)行要處理的目標(biāo)文件選擇。
2)如何讀取Excel文件?
利用xlrd庫(kù)進(jìn)行Excel讀取,獲取要處理的目標(biāo)Sheet。
3)如何篩選列內(nèi)容?
利用pandas庫(kù)進(jìn)行列內(nèi)容的篩選處理,得到拆分后的數(shù)據(jù)。
4)如何保存文件?
利用to_csv()保存數(shù)據(jù),得到最終拆分后的目標(biāo)文件。
五、項(xiàng)目實(shí)現(xiàn)
1、第一步導(dǎo)入需要的庫(kù)
- from tkinter import filedialog
- import pandas as pd
- import 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é)果:
七、總結(jié)
本文介紹了如何利用Python對(duì)Excel文件進(jìn)行拆分處理,實(shí)現(xiàn)可以根據(jù)任意列的內(nèi)容進(jìn)行拆分。輕輕松松幾行Python代碼就能實(shí)現(xiàn),好玩吧。