Python-openpyxl表格讀取寫(xiě)入的案例詳解
1.為何選擇openpyxl模塊
xlxd、xlwt、?只能讀取,openpyxl、可以讀取寫(xiě)入
2.安裝
pip install -i https://pypi.douban.com/simple openpyxl==2.6.2
3.處理對(duì)象
openpyxl只能處理xlsx格式的excel文件,只能使用辦公軟件來(lái)創(chuàng)建xlsx格式的excel文件,不能使用pycharm來(lái)創(chuàng)建excel對(duì)象 -> sheet表單對(duì)象 -> cell單元格對(duì)象 -> 行和列、值屬性如果excel文件不存在,那么會(huì)FileNotFoundErrorres = load_workbook(“testcase11.xlsx”)
4.代碼案例
from openpyxl import load_workbook# load_workbook,往往對(duì)已存在的excel進(jìn)行讀寫(xiě)操作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)讀取第一個(gè)表單 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對(duì)象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): ''' 寫(xiě)操作 :param row: 指定在某一行寫(xiě) :param column: 指定在某一列寫(xiě) :param data: 待寫(xiě)入的數(shù)據(jù) :return: ''' # 將數(shù)據(jù)寫(xiě)入到excel中,不能與讀取操作公用一個(gè)Workbook對(duì)象 # 如果使用同一個(gè)Workbook對(duì)象,只能將最后一次寫(xiě)入成功,會(huì)出現(xiàn)意想不到的結(jié)果 wb = load_workbook(self.filename) if self.sheetname is None: ws = wb.active else: ws = wb[self.sheetname] # 第一種寫(xiě)入方式: # one_cell = ws.cell(row, column) # one_cell.value = data # 第二種寫(xiě)入方式: ws.cell(row, column, value=data) # c.PermissionError: [Errno 13] Permission denied: ’testcase.xlsx’ # 對(duì)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表格讀取寫(xiě)入的案例詳解的文章就介紹到這了,更多相關(guān)Python表格讀取寫(xiě)入內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python爬蟲(chóng)實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊2. Spring如何使用xml創(chuàng)建bean對(duì)象3. python實(shí)現(xiàn)在內(nèi)存中讀寫(xiě)str和二進(jìn)制數(shù)據(jù)代碼4. python實(shí)現(xiàn)PolynomialFeatures多項(xiàng)式的方法5. HTML 絕對(duì)路徑與相對(duì)路徑概念詳細(xì)6. python 利用toapi庫(kù)自動(dòng)生成api7. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法8. Android Studio設(shè)置顏色拾色器工具Color Picker教程9. Java程序的編碼規(guī)范(6)10. python實(shí)現(xiàn)讀取類(lèi)別頻數(shù)數(shù)據(jù)畫(huà)水平條形圖案例
