5.通过xlrd读取xlsx文件
#encoding:utf-8 ''' 目标:读取XLS文件中的内容 步骤: 1.打开已有XLS文件 2.获取sheet名称 3.获取对应sheet第一行数据 4.获取其他行数据 ''' import xlrd '''打开文件''' class OpenMyXLS(): def __init__(self,filepath): self.filepath = filepath self.openxls() def openxls(self): xl = xlrd.open_workbook(self.filepath) print("所有的sheet名称:") sheetsName = xl.sheet_names() print(sheetsName)#获取所有sheet名称 print('获取sheet数量:') sheetsNum = xl.nsheets print(sheetsNum) print("获取索引对应的sheet对应的名称") sheetName = (xl.sheet_by_index(1)).name print(sheetName) print("获取该sheet总行数") sheetRows = (xl.sheet_by_index(1)).nrows print(sheetRows) print("获取总列数") sheetCols = (xl.sheet_by_index(1)).ncols print(sheetCols) print("获取第一行所有内容") sheetValues = (xl.sheet_by_index(1)).row_values(0) print(sheetValues) findArr = [] print("查找是否有81BOM列") for sheetV in sheetValues: if sheetV == '81BOM': findArr.append(sheetV) print(findArr) if '70 HSG Bin' in sheetV: #print(sheetV) findArr.append(sheetV) print(findArr) if '70 MLB Bin' in sheetV: #print(sheetV) findArr.append(sheetV) print(findArr) ''' 获取对应列的所有数据 ''' print("头部名称长度") print(len(findArr)) lvs = [] lieValues=[] i=0 while i < len(findArr): print("获取列位置") indexlie = sheetValues.index(findArr[i]) print(indexlie) lieValues = (xl.sheet_by_index(1)).col_values(indexlie) lvs.append(lieValues) i+=1 lieValues = [] # print('获取该列中所有数据') # lvs = [] # lieValues1 = (xl.sheet_by_index(1)).col_values(25) # lvs.append(lieValues1) # lieValues2 = (xl.sheet_by_index(1)).col_values(28) # lvs.append(lieValues2) # print(lieValues1) # print(len(lieValues1)) print("整合后的数据") print(lvs) print(len(lvs)) if __name__ == '__main__': filepath = '../test81.xlsx' oxl = OpenMyXLS(filepath)