用 Python 整理 Excel 表格
用 Python 整理 Excel 表格
- 思路
- xlrd和xlsxwriter
- 讀取所有xls和xlsx表格
- 數(shù)據(jù)處理
- 實例
- 回顧
- 代碼下載
一直都是拿Python來玩,今天正經(jīng)一回,解決下好友的需求:
需求不復雜,讀取文件夾中所有xls或xlsx表格文件,遍歷每一張sheet單頁,匯總所需要的數(shù)據(jù)生成新的xlsx表格。
思路
首要解決的就是xls和xlsx表格文件的讀取問題。讀取到數(shù)據(jù)后,對數(shù)據(jù)進行篩選重組,再寫入新的xlsx文件中。
實現(xiàn)了單個表格的讀取和寫入,接下來就再添加遍歷文件夾、篩選xls和xlsx格式文件的實現(xiàn)就大功告成了。
xlrd和xlsxwriter
xlrd是Python語言中,用來讀取Excel的擴展工具。先安裝xlrd后導入,代碼中直接調用即可。
原本對應xlrd庫的是xlwt庫,但是xlwt不爭氣,只能寫xls不能寫xlsx格式,所以這里選用xlswriter模塊。
讀取所有xls和xlsx表格
遍歷文件夾,選用os模塊中的 os.walk(),返回路徑、子文件夾和路徑下的文件,通過對文件名后綴的篩選,將所有.xls和.xlsx文件添加到特定列表中供統(tǒng)一讀取
數(shù)據(jù)處理
通過xlrd讀取到的每行數(shù)據(jù),代碼中會被存到一個個list中,通過對python list元素的操作,我們完成對目標數(shù)據(jù)的加工和獲取。
實例
由于朋友的表格數(shù)據(jù)涉及隱私,這里我拿公開的2019年和2018年國家公務員考試職位表來演示:
2018.xlsx
2019.xls
兩份表格中有2萬多條信息。我們從中選取“部門名稱”、“招考職位”、“職位簡介”、“招考人數(shù)”、“專業(yè)”及“學歷”等欄目,將所有這六欄的數(shù)據(jù)匯總到同一張新xlsx表格中,并注明數(shù)據(jù)來源。
運行代碼,效果不錯,秒級響應,共匯總了25802條數(shù)據(jù):
生成表格開頭
生成表格結尾
回顧
回顧整個過程,思路沒有問題,在接觸每個模塊后也作出了恰當?shù)恼{整。實例中采用的表格數(shù)目很小、格式也很規(guī)范,所以代碼也直接明了,方便展示代碼思路和過程。
涉及到成百上千及更大量級的表格文件時,各種格式不規(guī)范導致的頭疼問題就會出現(xiàn)了,這就要求更精確地數(shù)據(jù)加工和處理。不過也不慌,可以借助更便捷的工具和模塊來進行處理,前人栽樹、后人乘涼在Python里面可是很爽的,后續(xù)也會分享這方面的學習和應用。
代碼下載
百度網(wǎng)盤鏈接:https://pan.baidu.com/s/1TLVs8sgzGEZJ2F5_XNjrnQ
提取碼:y21f
GitHub鏈接:
https://github.com/pengfexue2/excelRelated.git
代碼體現(xiàn)大致思路,稍加修改就可以解決很多基礎的表格整理問題。
也歡迎關注我的記錄學習 Python 以及前端的公眾號,如果你也有繁瑣的操作想拿Python代碼來解決,可以留言哈,力所能及的話定當全力以赴~
總結
以上是生活随笔為你收集整理的用 Python 整理 Excel 表格的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【通通免费】分享3个超级实用的电脑小工具
- 下一篇: Python用最简单的代码画出一箭穿心