#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)