xlrd

Posted yaoxinger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xlrd相关的知识,希望对你有一定的参考价值。

python操作excel主要用xlrd和xlwt两个库,xlrd读取excel。

安装指令:(cmd中)pip install xlrd or pip3 install xlrd

常见单元格中的数据类型:0 empty;1 string;2 number;3 date;4 boolean;5 error;6 blank

使用:

import xlrd

xlsx =xlrd.open_workbook(‘E:materialproject\test file.xlsx‘) # 如果路径或者文件名有中文,给前面加一个 “ r‘ ” 标识原生字符

# 常用

table = xlsx.sheets()[0]  # 获取一个工作表
table = xlsx.sheet_by_index(0)
table = xlsx.sheet_by_name(sheet_name=sheet)
name = xlsx.sheet_names()  # 返回book中所有工作表的名字
xlrd.sheet_loaded(sheet_name or indx)  # 检查某个sheet是否导入完毕

# 行的操作
nrows = xlsx.nrows  # 获取该sheet中的有效行数
xlsx.row(9)  # 返回由该行中所有的单元格对象组成的列表
xlsx.row_slice(5)  # 返回由该行中所有的单元格对象组成的列表
xlsx.row_types(10, start_colx=0, end_colx=None)  # 返回由该行中所有单元格的数据类型组成的列表
xlsx.row_values(0, start_colx=0, end_colx=None)  # 返回由该行中所有单元格的数据组成的列表
xlsx.row_len(5)  # 返回该列的有效单元格长度

# 列(colnum)的操作
ncols = xlsx.ncols  # 获取列表的有效列数
xlsx.col(5, start_rowx=0, end_rowx=None)  # 返回由该列中所有的单元格对象组成的列表
xlsx.col_slice(6, start_rowx=0, end_rowx=None)  # 返回由该列中所有的单元格对象组成的列表
xlsx.col_types(7, start_rowx=0, end_rowx=None)  # 返回由该列中所有单元格的数据类型组成的列表
xlsx.col_values(8, start_rowx=0, end_rowx=None)  # 返回由该列中所有单元格的数据组成的列表

# 单元格的操作

xlsx.cell(55,1)   #返回单元格对象
xlsx.cell_type(0,0)    #返回单元格中的数据类型
xlsx.cell_value(rowx,colx)   #返回单元格中的数据
xlsx.cell_xf_index(rowx, colx)   # 暂时还没有搞懂

# 常见问题

♦1、使用open()函数、xlrd.open_workbook()函数打开文件,文件名若包含中文,会报错找不到这个文件或目录。

♦2、获取sheet时若包含中文,也会报错。

#打开文件
file = open(filename,‘rb‘)
#打开excel文件
workbook = xlrd.open_workbook(filename)
#获取sheet
sheet = workbook.sheet_by_name(sheetname)

♦对参数进行转码即可。如:

filename = filename.decode(‘utf-8‘)

♦也试过unicode函数,不过,在ride中运行时出现了报错,所以不赞成使用。

filename = unicode(filename,‘utf-8‘)

以上是关于xlrd的主要内容,如果未能解决你的问题,请参考以下文章

Python接口自动化之常见用例读取方法介绍

Python接口自动化之常见用例读取方法介绍