Excel是當(dāng)今最流行的電子表格處理軟件,文件豐富的計算函數(shù)及圖表,在系統(tǒng)運營方面廣泛用于運營數(shù)據(jù)報表,如業(yè)務(wù)質(zhì)量,資源利用,安全掃描等,同時也應(yīng)用系統(tǒng)常見的文件導(dǎo)出格式,以便數(shù)據(jù)使用人員做進一步加工處理。 Python中已有大量的處理Excel的第三方庫,主流代表有: (1)xlwings:簡單強大,可代替VBA。 (2)openpyxl:簡單易用,功能廣泛。 (3)pandas:使用時需要結(jié)合其他庫,數(shù)據(jù)處理是pandas立身之本。 (4)Win32com:不僅僅是Excel,可以處理office。不過它相當(dāng)于是Windows com的封裝,新手使用起來略有些痛苦。 (5)xlsxwriter:具體豐富多樣的特性,缺點是不能打開/修改已有文件,也就意味著使用xlsxwriter需要從零開始。 (6)datanitro:作為插件內(nèi)嵌到Excel中,可代替VBA,在excel中優(yōu)雅地使用Python。 (7)xlutils:結(jié)合xlrd/xlwt,老牌Python包。 (8)xlrd:一個Excel文檔讀取數(shù)據(jù)和格式化信息的庫,支持.xls以及.xlsx文檔。 (9)xlwt:一個用于將數(shù)據(jù)和格式化信息寫入舊Excel文檔的庫。 可以處理Excel文件的Python模塊很多,具體功能說明如下: Python處理Excel模塊對比
補充:.xls格式與.xlsx格式的區(qū)別 xls是版本之前使用的文件格式,是二進制的文件保存方法,xls文件可以直接插入宏,存在一定的安全隱患。xls文件的功能性比xlsx差,:xls文件支持的最大行數(shù)是65536行,xlsx支持額最大行數(shù)是1048576行;xls支持的最大列數(shù)是256列,xlsx是16384列,這個行數(shù)和列數(shù)的限制不是來自Excel的版本而是文件類型的版本。 xlsx與xls就差異了一個字母x,這個×表示的是X=XML。相當(dāng)于xls,xlsx支持更多的Excel2007后支持的功能,因為XML中的X表示的是extensible,也就是可擴展的,所以以后有新功能添加也會繼續(xù)使用xlsx格式,因為它是擴展的。 通過上表的對比可以發(fā)現(xiàn),xlwings模塊的功能是最齊全的,xlwings不僅能讀、寫、修改xls和xlsx兩種格式的文件,還可以批量處理Excel文件。xlwings模塊恩能夠與ExcelVBA結(jié)合使用,實現(xiàn)更強大的數(shù)據(jù)輸入和分析功能。 # 使用xlwings模塊創(chuàng)建新的Excel文件的方式 import xlwings as xw # 創(chuàng)建一個新的APP,并在APP中創(chuàng)建一個book wb = xw.Book() # 保存工作簿 wb.save("1.xlsx") # 關(guān)閉工作薄 wb.close() |
|