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的主要内容,如果未能解决你的问题,请参考以下文章