目录
1.安装xlrd3
pip install xlrd3
2.读取Excel文件内容
import xlrd3 as xlrd
# 实例化Excel对象
excel = xlrd.open_workbook('./副本.xlsx')
# 获取Excel中所有的sheet名
sheet_names = excel.sheet_names()
print("sheet_names", excel.sheet_names())
# 将一张sheet对象化
sheet1 = excel.sheet_by_name(sheet_names[0])
# 获取该sheet中的有效行和有效列的数量
nrows = sheet1.nrows
ncols = sheet1.ncols
print("nrows", nrows)
print("ncols", ncols)
# 获取该sheet的某一行的所有值,参数最大为nrows-1
print("行值", sheet1.row_values(0))
# 获取该sheet的某一列的所有值,参数最大为ncols-1
print("列值", sheet1.col_values(0))
# 用坐标值获取一个单元格的值,参数最大为(nrows-1,ncols-1)
print("单元格值", [sheet1.cell_value(0, col) for col in range(ncols)])
# 用坐标值获取一个单元格的数量类型,参数最大为(nrows-1,ncols-1)
print("单元格的数据类型", [sheet1.cell_type(0, col) for col in range(ncols)])
# type:0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
3.Excel文件和运行结果
4.读取Excel中#DIV/0!等错误提示信息
代码中的注释提到单元格的xlrd类型共有五种,分别为0对应empty,1对应string, 2对应number, 3对应date, 4对应boolean, 5对应error。Excel中有很多错误提示信息,如利用公式计算两个单元格的商,除数为0时单元格的值会变成#DIV/0!。python读取出来的#DIV/0!为7,python的数据类型为int,xlrd的数据类型为5即error。Excel中错误提示信息对应的python打印出来的信息如表所示。
Excel错误提示 | xlrd类型 | python类型 | python打印值 |
#DIV/0! | 5 | int | 7 |
#VALUE! | 5 | int | 15 |
#NULL! | 5 | int | 0 |
#NAME? | 5 | int | 29 |
#N/A | 5 | int | 42 |
#REF! | 5 | int | 23 |
当读取到xlrd类型为2即number类型的时候,python类型为float类型。所以通过读取xlrd类型和判断python类型以及python打印出来的值可以确定是哪个错误提示信息。