Python-openpyxl表格讀取寫入的案例詳解
1.為何選擇openpyxl模塊
xlxd、xlwt、–只能讀取,openpyxl、可以讀取寫入
2.安裝
pip install -i https://pypi.douban.com/simple openpyxl==2.6.2
3.處理對象
openpyxl只能處理xlsx格式的excel文件,只能使用辦公軟件來創(chuàng)建xlsx格式的excel文件,不能使用pycharm來創(chuàng)建
excel對象 -> sheet表單對象 -> cell單元格對象 -> 行和列、值屬性
如果excel文件不存在,那么會FileNotFoundError
res = load_workbook(“testcase11.xlsx”)
4.代碼案例
from openpyxl import load_workbook
# load_workbook,往往對已存在的excel進(jìn)行讀寫操作
class Handle_excel:
def __init__(self,filename,sheetname = None):
self.filename = filename
self.sheetname = sheetname
def read_data(self):
"""
讀取表格數(shù)據(jù)
:return:
"""
wb = load_workbook(self.filename)
if self.sheetname is None:
ws = wb.active # active默認(rèn)讀取第一個表單
else:
ws = wb[self.sheetname] # 讀取指定表單
testcase_list = [] # 所有數(shù)據(jù)信息
header_list = [] # 表頭信息
for row in range(1,ws.max_row+1):
one_row_dict = {} # 每一行數(shù)據(jù)信息
for column in range(1,ws.max_column+1):
one_cell_value = ws.cell(row,column).value # cell方法,獲取單元格,返回Cell對象
if row == 1:
header_list.append(one_cell_value)
else:
key = header_list[column-1]
one_row_dict[key] = one_cell_value
if row != 1:
testcase_list.append(one_row_dict)
return testcase_list
def write_data(self, row, column, data):
"""
寫操作
:param row: 指定在某一行寫
:param column: 指定在某一列寫
:param data: 待寫入的數(shù)據(jù)
:return:
"""
# 將數(shù)據(jù)寫入到excel中,不能與讀取操作公用一個Workbook對象
# 如果使用同一個Workbook對象,只能將最后一次寫入成功,會出現(xiàn)意想不到的結(jié)果
wb = load_workbook(self.filename)
if self.sheetname is None:
ws = wb.active
else:
ws = wb[self.sheetname]
# 第一種寫入方式:
# one_cell = ws.cell(row, column)
# one_cell.value = data
# 第二種寫入方式:
ws.cell(row, column, value=data)
# c.PermissionError: [Errno 13] Permission denied: 'testcase.xlsx'
# 對exel文件修改之后,要保存,一定要將excel文件關(guān)閉
wb.save(self.filename)
if __name__ == "__main__":
excel_name =“testcase.xlsx"
sheet_name = "login"
do_excel = Handle_excel(excel_name,sheet_name)
print(do_excel.read_data())
#do_excel.write_data(3,4,5)
到此這篇關(guān)于Python-openpyxl表格讀取寫入的案例詳解的文章就介紹到這了,更多相關(guān)Python表格讀取寫入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python讀取系統(tǒng)文件夾內(nèi)所有文件并統(tǒng)計數(shù)量的方法
今天小編就為大家分享一篇Python讀取系統(tǒng)文件夾內(nèi)所有文件并統(tǒng)計數(shù)量的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
Python PIL庫讀取設(shè)置圖像的像素內(nèi)容方法示例
這篇文章主要為大家介紹了使用Python PIL庫Image模塊中的getpixel和putpixel方法讀取設(shè)置圖像的像素內(nèi)容實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Python3對稱加密算法AES、DES3實(shí)例詳解
這篇文章主要介紹了Python3對稱加密算法AES、DES3,結(jié)合實(shí)例形式詳細(xì)分析了對稱加密算法AES、DES3相關(guān)模塊安裝、使用技巧與操作注意事項,需要的朋友可以參考下2018-12-12
python通過wxPython打開一個音頻文件并播放的方法
這篇文章主要介紹了python通過wxPython打開一個音頻文件并播放的方法,實(shí)例分析了wxPython操作音頻文件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03

