一、基礎操作
import xlrd #打開Excel表格 data = xlrd.open_workbook(r"G:\Users\user.xlsx") #獲取目標EXCEL文件sheet名 print(data.sheet_names()) #通過索引順序獲取 #table = data.sheets()[0] #通過索引順序獲取 #table = data.sheet_by_index(0) # 通過名稱獲取 table = data.sheet_by_name(u'Sheet1') # 獲取總行數 nrows = table.nrows # 獲取總列數 ncols = table.ncols # 獲取第一行值 print(table.row_values(0)) # 獲取第二列值 print(table.col_values(1)) # 獲取第二行第一列單元格內容 print(table.cell_value(1,0))
二、封裝讀取Excel
# coding:utf-8 import xlrd class DataTest: def __init__(self, filepath, sheetindex=0): self.data = xlrd.open_workbook(filepath) self.table = self.data.sheets()[sheetindex] self.rows = self.table.nrows self.cols = self.table.ncols #將第一行的值作為key值,當選中的sheet總行數小於或等於1時提示 if self.rows<=1: print("選中的sheet表格總行數小於1或者等於1,請檢查並錄入測試數據或者選擇其他sheet") else: self.keys = self.table.row_values(0) def dataddt(self): if self.rows<=1: pass else: l = [] x = 1 for i in range(self.rows-1): d = {} #從第二行開始獲取對應的values值 values = self.table.row_values(x) for j in range(self.cols): d[self.keys[j]] = values[j] l.append(d) x +=1 return l if __name__ == "__main__": file = r"C:\Users\user.xlsx" date = DataTest(file) test = date.dataddt() print(test[0]["username"]) print(test[1]["password"]) print(test[2]["test"])