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) # 获取单元格值类型和内容
以上内容打印的结果是:
最后赠送个小技巧
相比大家经常需要知道表格处于第几行,那么这个技巧对你有帮助
参考文章: