使用xlrd读取表格信息,首先要导入xlrd模块,下图是本次代码中使用的xls格式文件
import xlrd
xlrd读取表格
xl = xlrd.open_workbook('sheet.xls')
获取sheet
print(xl.sheet_names())#获取所有工作表的名称
table1 = xl.sheet_by_name('sheet1')#根据工作簿名获取
table2 = xl.sheet_by_index(0)#根据工作簿下标获取,从0开始
获取sheet内的汇总配置
print(table1.name) #获取table1的名称
print(table1.nrows) #获取table1中的行数
print(table1.ncols) #获取table1中的列数
输出:
sheet1
2
4
单元格批量读取
print(table1.row_values(0)) #合并单元格,首列显示值,其他为空
print(table1.row(0)) #显示值的类型,值的内容
输出结果:
[‘xlrd sheet’, ”, ‘表格 ‘, 1.0]
[text:’xlrd sheet’, empty:”, text:’表格 ‘, number:1.0]
可以看到合并单元格的情况是第一格显示数值,其他单元格为空
指定单元格读取
#读取第二行第一列的值,表格中的读取下标是从0开始的,这个要注意。
print(table1.cell(1,0).value)
print(table1.cell_value(1,0))
print(table1.row(1)[0].value)
输出结果:
1
1
1
因为是bool类型,true的值就是1
取单元格的位置
print(xlrd.cellname(0,0))
print(xlrd.cellnameabs(0,0))
输出结果:
A1
$A$1
可以看到他这里输出的就是正常的表格读取中单元格的位置
取单元格的类型
print(table1.cell_type(0,0))
print(table1.cell_type(0,1))
print(table1.cell_type(0,3))
print(table1.cell_type(1,0))
print(table1.cell_type(1,2))
输出结果:
1
0
2
4
3
这里的0代表空类型,1代表字符串,2代表数字,3代表日志,4代表布尔类型,(5代表错误类型)