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文件不存在,那么會FileNotFoundErrorres = load_workbook(“testcase11.xlsx”)
4.代碼案例
from openpyxl import load_workbook# load_workbook,往往對已存在的excel進行讀寫操作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默認讀取第一個表單 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)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. IntelliJ IDEA刪除類的方法步驟2. JSP中Servlet的Request與Response的用法與區(qū)別3. Struts2獲取參數(shù)的三種方法總結(jié)4. vue使用moment如何將時間戳轉(zhuǎn)為標準日期時間格式5. Android 實現(xiàn)徹底退出自己APP 并殺掉所有相關(guān)的進程6. IntelliJ IDEA導(dǎo)入jar包的方法7. js select支持手動輸入功能實現(xiàn)代碼8. vue cli4下環(huán)境變量和模式示例詳解9. Django視圖類型總結(jié)10. Xml簡介_動力節(jié)點Java學(xué)院整理
