python使用openpyxl和xlrd讀寫excel文件封裝工具

依賴包:
openpyxl
xlrd

python版本:3.6.4

使用文檔:

一、讀取文件

# filename爲文件路徑,絕對路徑和相對路徑都可以
# encoding爲可選參數,對應 xlrd的 encoding_overide,如果你不知道自己在幹什麼的話就不要設置
reader = ExcelReader(filename, [encoding])

1、遍歷行

行的格式有兩種,一種返回數組形式,數組裏的元素序號和表頭對應, 如:

# 文件如下
# col1, col2
# 1,2
# 3,4
for row in reader.rows():
	print(row)
# [1, 2]
# [3, 4]

另一種根據表頭返回字典格式,如:

# 文件如下
# col1, col2
# 1,2
# 3,4
for row in reader.dict_rows():
	print(row)
# {'col1': 1, 'col2': 2}
# {'col1': 3, 'col2': 4}

2、獲取表頭

reader.headers
#  ['col1', 'col2']

3、獲取行數和列數

reader.col_num
reader.row_num

需要注意的是,這裏的行數是包括表頭在內的

4、切換sheet

reader.set_current_sheet(index=None, name=None)

index和 name只能選擇一個,如果兩個都使用了的話只優先使用 index。
特別注意,如果需要使用 name則需要使用關鍵字參數,如:

reader.set_current_sheet(name='Sheet1')

二、寫入文件

# filename是保存文件的路徑,如果文件已存在則覆蓋
# headers是excel表的表頭,必須在開始時設置
writer = ExcelWriter(filename, headers)

寫入數據很簡單,直接調用 write方法即可,如:

writer.write(data)

data可以是列表或者字典或者元祖,如果是列表和元組的話則data的長度必須和表頭相投
是字典的話則必須包含所有的表頭,否則均無法寫入數據。

特別注意:在未調用save函數時,所有數據均在內存中,只有調用 save函數之後數據纔會保存到硬盤中去。

代碼GitHub地址:https://github.com/geebos/cooltools/blob/master/excel_helper/excelhelper.py
有C幣的朋友可以點擊這個下載

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章