前言
Excel 作為流行的個人計算機數(shù)據(jù)處理軟件,混跡于各個領域,在程序員這里也是常常被處理的對象,可以處理 Excel 格式文件的 Python 庫還是挺多的,比如 xlrd、xlwt、xlutils、openpyxl、xlwings 等等,但是每個庫處理 Excel 的方式不同,有些庫在處理時還會有一些局限性。
接下來對比一下幾個庫的不同,然后主要記錄一下 xlwings 這個庫的使用,目前這是個人感覺使用起來比較方便的一個庫了,其他的幾個庫在使用過程中總是有這樣或那樣的問題,不過在特定情況下使用也是挺不錯的。
EXCEL文件
Excel 被稱為電子表格,其實際可以保存的格式分為很多種,但是“Excel 工作簿(*.xlsx)”和“Excel 97-2003 工作簿(*.xls)”是其中比較常用的兩種,可以認為 .xls 格式的表格是 03版Excel 之前常用的格式,而 .xlsx 是 03版之后,一般指 07版Excel 之后常用的格式。
一般的 Excel 程序?qū)τ谏鲜龅膬煞N格式都可以打開編輯,也可以相互轉(zhuǎn)化存儲,不過還是建議在沒有特殊要求的情況下使用新版本的格式,一方面新的穩(wěn)定版本可能會修復之前的一些BUG,同時也會帶來進行一些優(yōu)化。
我也是在寫這篇總結(jié)之前才發(fā)現(xiàn),一個空的 .xlsx 格式的文件大小有 7KB,而一個空的 .xls 格式的文件大小有 24KB,當我分別寫入一個相同的漢字后,兩個文件大小變成了 10KB 和 30KB,差距還是不小的,還有一個問題就是在將 .xlsx 格式的文件另存為 .xls 格式時還會有兼容性提示,提醒用戶有些設置可能會丟失,所以能選新版本還是盡量用新版本吧。
測試環(huán)境
因為很多應用程序是不斷迭代的,相對應的 Python 庫也是不斷迭代的,這里盡可能的給出版本號,不同的版本可能會有不同的問題:
以上各個程序庫使用之前自行安裝就行,安裝方法就不贅述了,不過可以提供一個可以快速安裝鏡像源,使用 pip install -i https://pypi.doubanio.com/simple 庫名
可以盡可能解決下載安裝緩慢的問題。
Excel具體操作
關于使用 Python 具體操作 Excel 的方法可以分為三組,配合使用 xlrd、xlwt、xlutils 操作作為第一組,使用庫 openpyxl 作為第二組,而 xlwings 作為第三組,這篇總結(jié)重點總結(jié) xlwings 的使用,其他兩組簡單了解。
xlrd、xlwt、xlutils
這一組操作 Excel 的庫名字很形象,一個讀、一個寫、一個小工具,湊到一起就可以對 Excel 肆意妄為了,下面做個小練習,打開一個 Excel 文件然后修改第一個單元格的值,再另存為一個新文件,代碼如下:
import xlrd import xlwt import xlutils.copy def save_as_new_file(file_name, new_file_name): # 打開Excel文件 rb = xlrd.open_workbook(file_name) # 創(chuàng)建一個可寫入的副本 wb = xlutils.copy.copy(rb) # 獲得第一個sheet頁簽 ws = wb.get_sheet(0) # 第一個單元格寫入測試值 ws.write(0, 0, 'test value') # 另存為一個新文件 wb.save(new_file_name)
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前文章:Python操作Excel工作簿的示例代碼(\*.xlsx)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://m.rwnh.cn/article8/ggjip.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設、商城網(wǎng)站、網(wǎng)站內(nèi)鏈、建站公司、營銷型網(wǎng)站建設、品牌網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容