openpyxl 讀寫excel2007使用筆記

2021-05-24 14:47:44 字數 1227 閱讀 8383

有一萬年沒來這兒寫blog了,今天等著發版,抽空來寫點東西吧。

python有很多模組都是用來操作excel的,比如xlrd,xlwt,pyexcelerator。用著很方便,但是問題是,只能支援到excel2003。雖然一般的應用其實足夠了,但是如果遇到了匯出大量資料(超過65535條)的需求時,excel2003就不夠用了。所以我就只好去找乙個能支援excel2007的模組。

google了一下,發現了這個openpyxl,不過網上也沒什麼中文的文件可以看,於是就自己琢磨琢磨。

i.安裝

需求python的版本是2.6+  ,也就是說,如果centos系統的機器想用,那得公升級系統的python。。。

安裝就是解壓縮,然後cd到目錄,然後

python setup.py install

***~

ii.讀取excel2007檔案

注意的是ws.cell()方法,支援的引數有兩種,cell(

coordinate=none, row=none, column=none)

coordinate座標,eg  ws.cell("b1")

row 和 column 是行和列 ,都是從0開始

還有,如果想取得格里的值,得用ws.cell("a1").value 取到,如果用過xlrd,因為寫法差不多,可能就會忘記加value了。

iii.寫入excel2007

注意的地方:

# col是用列號x為引數,呼叫了這個模組的get_column_letter方法算出來的字母,這個比較蛋疼。

col = get_column_letter(x)

#在為資料格賦值的時候,注意寫的格式:要不會有各種不靠譜的問題出現(這個是用座標的方式寫的,其實用row ,col的方式可能沒那麼麻煩)

ws.cell(

'%s%s'%(col, i)

).value =

'%s' % (record[x-1])

關於該模組的api  可以查詢官方文件 

總體來說,這個模組還是挺方便的,但是問題就是在對於python的版本有一定要求,如果在centos上用,可能會有些問題。

關於pyexcelerator的使用教學,給朋友做個廣告  http://blog.csdn.net/suofiya2008/archive/2010/05/14/5589627.aspx

如何使用openpyxl來獲取excel中的某一列

由於execl的列都是按照 a b c 來進行排列的,不利於使用列表的方式獲取,實際上openpyxl提供了columns方法,然後生成元組的方式來產生每個列為元素的元組。更多資訊可以參考openpyxl的官方教程openpyxl。wb load workbook 檔案路徑 檔名 sheet wb....

openpyxl讀取Excel中單個單元格的資料

將測試資料使用excel來處理 python中處理excel的模組非常多,比如xlrd,xlwd 讀寫分開,不太方便 使用openpyxl同時支援讀寫操作,需要安裝後才能使用 pip install openpyxl 如果報錯,需要更新pip,python m pip install upgrade...

Excel檔案讀寫

對於c s模式的開發,讀寫excel檔案是很經常的事情,這裡我介紹一下通過oledb方式對excel檔案進行讀寫的方法,相比通過操作單元格的方式,應該在效能和效率上有很大優勢。首先 提供乙個excel檔案操作引擎類。using system using system.data using syste...