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')# 获取sheetsheetName = 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.ncolsrowNums=sheetByName.nrowsprint ("获取总列数:",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) # 获取单元格值类型和内容
以上内容打印的结果是:

最后赠送个小技巧
相比大家经常需要知道表格处于第几行,那么这个技巧对你有帮助

参考文章:
