赞
踩
# # test_sample.py # import pytest # @pytest.fixture() # def is_odd(request): # print('Now the parameter are:--{}\n'.format(request.param)) # if int(request.param) % 2 == 0: # return False # else: # return True # # @pytest.mark.parametrize("is_odd", [1, 2], indirect=True) # def test_is_odd(is_odd): # if is_odd: # print("is odd number") # else: # print("is not odd number") # # # if __name__ == "__main__": # pytest.main([]) # !/usr/bin/env python # -*- coding:utf-8 -*- # from openpyxl import load_workbook # def test_readExcel(): # # wb = load_workbook('C:/Users/Administrator/Desktop/test.xlsx') # wb = load_workbook('./test.xlsx') # # 获得所有sheet的名称 # print(wb.get_sheet_names()) # # 根据sheet名字获得sheet # a_sheet = wb.get_sheet_by_name('Sheet1') # # 获得sheet名 # print(a_sheet.title) #Sheet1 # # 获得当前正在显示的sheet, 也可以用wb.get_active_sheet() # sheet = wb.active # print('当前正在显示的sheet---', sheet) # # print('通过worksheet.cell获取所有数据方法:') # for i in range(1, a_sheet.max_row+1): # for j in range(1, a_sheet.max_column+1): # print(a_sheet.cell(row=i, column=j).value,end=' ') # print('\n') # 导入模块 import xlrd def test_readExcel(): # 打开文件方式1: work_book = xlrd.open_workbook('test.xlsx') print('打印所有Sheets的个数:',work_book.nsheets) sheets = work_book.sheets() print('打印所有Sheets的地址:',sheets) # 获取工作簿所有sheet表对象名称 sheets_name = work_book.sheet_names() print('获取工作簿所有sheet表对象名称:',sheets_name) # 按索引获取sheet对象 sheet_1 = work_book.sheet_by_index(0) print('按索引获取sheet对象',sheet_1) # 按sheet表名称获取sheet对象,名称分大小写 sheet_2 = work_book.sheet_by_name('Sheet2') print('按sheet表名称获取sheet对象,名称分大小写:',sheet_2) # 获取sheet表单元格对象,单元格数据类型:单元格值 cell0 = sheet_1.cell(1,1) print('cell0',cell0,'type',type(cell0)) #cell0 text:'女' type <class 'xlrd.sheet.Cell'> # 获取sheet表单元格值 cell_0_value = sheet_1.cell_value(1, 1) print('cell_0_value',cell_0_value,'type',type(cell_0_value)) # cell_0_value 女 type <class 'str'> # 获取单元格类型 cell_0_type = sheet_1.cell_type(1, 1) print('获取单元格类型:',cell_0_type) # 获取sheet表对象有效行数 row_sum = sheet_1.nrows print('获取sheet表对象有效行数:',row_sum)#获取sheet表对象有效行数: 3 # 获取sheet表某一行长度 row_len = sheet_1.row_len(0) "def row_len(self, rowx):" print('获取sheet表某一行长度',row_len)#获取sheet表某一行长度 2 # 获取sheet表某一行所有数据类型及值 row_0 = sheet_1.row(0) "def row(self, rowx):" print('获取sheet表某一行所有数据类型及值',row_0,'type(row_0):',type(row_0)) #获取sheet表某一行所有数据类型及值 [text:'姓名', text:'性别'] type(row_0): <class 'list'> # 获取某一行对象的值,可指定开始结束列 row_0_s = sheet_1.row_slice(0, 0, 1) "def row_slice(self, rowx, start_colx=0, end_colx=None):" print('获取某一行对象的值,可指定开始结束列',row_0_s) #获取某一行对象的值,可指定开始结束列: [text:'姓名', text:'性别'] # 获取sheet表对象某一行数据类型,返回一个数组对象 row_0_type = sheet_1.row_types(0,0) "def row_types(self, rowx, start_colx=0, end_colx=None):" print('获取sheet表对象某一行数据类型,返回一个数组对象',row_0_type) # 获取sheet表对象某一行数据值 row_0_value = sheet_1.row_values(1) "def row_values(self, rowx, start_colx=0, end_colx=None):" print('获取sheet表对象某一行数据值:',row_0_value,'type(row_0_value):',type(row_0_value)) # 获得sheet对象所有行对象生成器 rows = sheet_1.get_rows() print('获得sheet对象所有行对象生成器:',rows) #获得sheet对象所有行对象生成器: <generator object Sheet.get_rows.<locals>.<genexpr> at 0x0000023EC32E6960> #获得每行对象的数据类型和值 for row in rows: print('row:',row) #row: [text:'姓名', text:'性别'] #row: [text:'张三', text:'女'] #row: [text:'李四', text:'男'] # 获取sheet表有效列数 col_sum = sheet_1.ncols print('获取sheet表有效列数:',col_sum) #获取sheet表有效列数: 2 # 获取列对象 # #################### 该方法好像有问题... ####################3 cell_0 = sheet_1.col_slice(0) "def col_slice(self, colx, start_rowx=0, end_rowx=None):" print('获取列对象:',cell_0) #获取列对象: [text:'姓名', text:'张三', text:'李四'] # 获取某一列的值 col_0_value = sheet_1.col_values(0) "def col_values(self, colx, start_rowx=0, end_rowx=None):" print('获取某一列的值:',col_0_value) #获取某一列的值: ['姓名', '张三', '李四'] # 获取某一列的数据类型 col_0_type = sheet_1.col_types(0) "def col_types(self, colx, start_rowx=0, end_rowx=None):" print('获取某一列的数据类型:',col_0_type) # 按行读取 data_row = [] for row in range(sheet_1.nrows): data_row.append(sheet_1.row_values(row)) print('按行读取:',data_row,'type(data_row):',type(data_row)) #按行读取: [['姓名', '性别'], ['张三', '女'], ['李四', '男']] type(data_row): <class 'list'> # 按列读取 data_col = [sheet_1.col_values(i) for i in range(sheet_1.ncols)] print('按列读取:',data_col,'type(data_col):',type(data_col)) #按列读取: [['姓名', '张三', '李四'], ['性别', '女', '男']] type(data_col): <class 'list'> # 按行读取test.xlsx所有sheet表数据 all_data = {} for i, sheet_obj in enumerate(work_book.sheets()): all_data[i] = [sheet_obj.row_values(row) for row in range(sheet_obj.nrows)] print('按行读取test.xlsx所有sheet表数据:',all_data) #按行读取test.xlsx所有sheet表数据: {0: [['姓名', '性别'], ['张三', '女'], ['李四', '男']], 1: [], 2: []} # 按列读取test.xlsx所有sheet表数据 all_data = {} for i, sheet_obj in enumerate(work_book.sheets()): all_data[i] = [sheet_obj.col_values(row) for row in range(sheet_obj.ncols)] print('按列读取test.xlsx所有sheet表数据:',all_data) #按列读取test.xlsx所有sheet表数据: {0: [['姓名', '张三', '李四'], ['性别', '女', '男']], 1: [], 2: []}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。