Python-操作excel-003(封裝讀取excel類
阿新 • • 發佈:2021-11-19
""" excel類,需求的實現時什麼 1.讀取表頭 2.讀取資料 --讀取表頭意外的所有資料 --返回值:列表,成員是每一行資料 初始話工作? 載入一個excel,開啟已表單。 """ import os from openpyxl import load_workbook file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'login_cases.xlsx') class HandleExcel: def __init__(self,file_path, sheet_name): #1.載入excel資料檔案 self.wb = load_workbook(file_path) # 2.根據表單名稱選擇表單 self.sh = self.wb[sheet_name] def __read_titles(self): # 減少其他類對其的呼叫 titles = [] for item in list(self.sh.rows)[0]: # 遍歷第一行的每一列 titles.append(item.value) return titles def read_all_data(self): all_datas= [] titles = self.__read_titles() for item in list(self.sh.rows)[1:]: # 遍歷資料行 values = [] for val in item: # 獲取每一行的值 values.append(val.value) res = dict(zip(titles, values)) # title和每一行資料,打包成字典 # res['check'] = eval(res['check']) # 將check的字串,轉換成字典物件 all_datas.append(res) return all_datas def close_file(self): self.wb.close() if __name__ == '__main__': fix = HandleExcel(file_path,"login") cases = fix.read_all_data() fix.close_file() for case in cases: print(case)