python xlrd 读取excel

简介:

用于从Microsoft Excel表格中提取数据,官网:https://pypi.org/project/xlrd/

安装命令:

pip/pip3 install xlrd

常用方法,参考图示:

读取的步骤: 获取sheet -> 获取行/列对象数据 -> 获取单元格对象 

# 打开excel文件读取数据
workbook = xlrd.open_workbook(filepath, encoding_override='utf-8')

# ----------------------- 关于sheet相关 ----------------------- #
# 获取excel表中所有sheet表的名字
sheetnames = workbook.sheet_names()  
# 通过名字判定是否加载sheet表     
isload = workbook.sheetloaded(sheetname) 
# 通过索引判定是否加载sheet表
isload = workbook.sheetloaded(index)   
# 通过索引获取指定的sheet表数据     
sheet = workbook.sheet_by_index(index)   
# 通过名字获取指定的sheet表数据
sheet = workbook.sheet_by_name(sheetname)   

# ----------------------- 关于行相关 ----------------------- #
# 获取指定sheet表的有效行数
rows = sheet.nrows   
# 返回指定行下所有单元格对象列表                  
rowlist = sheet.row(rowIndex)   
# 返回指定列下所有单元格对象列表            
collist = sheet.row_slice(rowIndex)   
# 返回指定行下有效单元格长度      
rowlen = sheet.row_len(rowIndex)            
# 返回指定rowIndex行索引下,从第start_colx列到第end_colx列的类型列表
typelist = sheet.row_types(rowIndex, start_colx=0, end_colx=None)    
# 返回指定rowIndex行索引下,从第start_colx列到第end_colx列的数值列表
valuelist = sheet.row_values(rowIndex, start_colx=0, end_colx=None) 

# ----------------------- 关于列相关 ----------------------- #
cols = sheet.ncols                          # 获取指定sheet表的有效列数
# 获取指定列索引下从第start_rowx行到第end_rowx行下的单元格对象列表
collist = sheet.col(colx,start_rowx=0, end_rowx=None)  
# 返回指定colIndex列索引下,从第start_rowx行到第end_rowx行的类型列表
typelist = sheet.col_types(colIndex, start_rowx=0, end_rowx=None)    
# 返回指定colIndex列索引下,从第start_rowx行到第end_rowx行的数值列表
valuelist = sheet.col_values(colIndex, start_rowx=0, end_rowx=None) 

# ----------------------- 关于单元格相关 ----------------------- #
cell = sheet.cell(rowx, colx)       # 根据行列获取指定的单元格对象
celltype = cell.ctype               # 通过单元格对象获取单元格类型
cellvalue = cell.value              # 通过单元格对象获取单元格数值

celltype = sheet.cell_type(rowx, colx)      # 通过sheet表通过行列获取单元格类型
cellvalue = sheet.cell_value(rowx, colx)    # 通过sheet表通过行列获取单元格数值
    
# 常见的单元格的类型,即cell.ctype
'''
0 empty
1 string
2 number
3 date
4 boolean
5 error
6 blank(空白表格)
'''

 参考,感谢原作者的热心分享:

https://blog.csdn.net/we_are_the_world_123/article/details/76095876                 关于excel转换为lua的详解
https://www.cnblogs.com/insane-Mr-Li/p/9092619.html                                        关于xlrd的讲解
posted @ 2019-05-29 15:29  Code~  阅读(463)  评论(0)    收藏  举报