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