python学习xlrd读取excel
python操作Excel 常用的两个库是 xlrd 和xlwt 。openpyxl 我很少用,以后再写。pandas 做数据分析也很有名,看能不能约个朋友来写。
今天咱们先介绍读取 Excel 的xlrd 。我这里使用的文件格式是xls ,办公软件是金山的wps 。 安装模块pip install xlrd -i https://pypi.douban.com/simple/ pip install xlwt -i https://pypi.douban.com/simple/
示例表格
常用方法
「打开文件」 wb= xlrd.open_workbook(r"测试用例模版.xls")
「获取sheet」 import xlrd # 打开文件 wb = xlrd.open_workbook(r"测试用例模版.xls") # 获取sheet sheetName = wb.sheet_names() sheetNums = wb.sheets() sheetByName = wb.sheet_by_name(u"功能测试用例模版") sheetByIndex = wb.sheet_by_index(1) print("获取sheet名称:", sheetName) print("获取sheet的个数:", sheetNums) print("通过名称获取相应的sheet:", sheetByName) print("通过索引获取相应的sheet", sheetByIndex)
「获取sheet内的数据」 sheetByName = wb.sheet_by_name(u"功能测试用例模版") cloNums=sheetByName.ncols rowNums=sheetByName.nrows print ("获取总列数:",cloNums) print("获取总行数:",rowNums)
「单元格批量读取」 # 行操作: print("==========行操作============") print(sheetByName.row_values(0))#获取第1行的值 若是合并单元格 首行显示值 其它为空 print(sheetByName.row_values(1))#获取第2行的值 若是合并单元格 首行显示值 其它为空 print(sheetByName.row_values(2))#获取第3行的值 若是合并单元格 首行显示值 其它为空 print(sheetByName.row_values(3))#获取第4行的值 若是合并单元格 首行显示值 其它为空 # 列操作: print("==========列操作============") print(sheetByName.col_values(0))#获取第1列的值 若是合并单元格 首行显示值 其它为空 print(sheetByName.col_values(1))#获取第2列的值 若是合并单元格 首行显示值 其它为空 print(sheetByName.col_values(2))#获取第3列的值 若是合并单元格 首行显示值 其它为空 print(sheetByName.col_values(3))#获取第4列的值 若是合并单元格 首行显示值 其它为空 # 表操作 print("==========表操作============") sheetByName.row_values(0, 6, 10) # 取第1行,第6~10列(不含第10表) sheetByName.col_values(0, 0, 5) # 取第1列,第0~5行(不含第5行) sheetByName.row_slice(2, 0, 2) # 获取单元格值类型和内容
「以上内容打印的结果:」
特定单元格读取
「a) 获取单元格值」 sheet1.cell_value(1, 2) sheet1.cell(1, 2).value sheet1.row(1)[2].value
「b) 获取单元格类型:」 sheet1.cell(1, 2).ctype sheet1.cell_type(1, 2) sheet1.row(1)[2].ctype
「最后赠送个小技巧」
要知道表格处于第几行,那么这个技巧对你有帮助。