您的位置:首页技术文章
文章详情页

python中xlrd模块的使用详解

【字号: 日期:2022-06-28 16:33:43浏览:3作者:猪猪
一、xlrd的安装

打开cmd输入pip install xlrd安装完成即可

python中xlrd模块的使用详解

二、xlrd模块的使用

下面以这个工作簿为例

python中xlrd模块的使用详解

1、导入模块

import xlrd2、打开工作薄

# filename是文件的路径名称workbook = xlrd.open_workbook(filename=r’C:UsersWindows10Desktopxlsx文件.xlsx’)3、获取需要操作的sheet表格(有三种方法)

①通过索引获取

# 获取第一个sheet表格table = workbook.sheets()[0]

②通过索引顺序获取

# 通过索引顺序获取table = workbook.sheet_by_index(0)

③通过sheet名称获取

# 通过sheet名称获取table = workbook.sheet_by_name(sheet_name=’Sheet1’)

补充:获取工作薄中所有sheet名称

# 获取工作薄中所有的sheet名称names = workbook.sheet_names()打印结果[’Sheet1’, ’Sheet2’, ’Sheet3’]三、行和列的操作

常用1:获取sheet中有多少行和多少列

# 获取sheet中有效行数row = table.nrowsprint(row)打印结果6

# 获取sheet中有效列数col = table.ncolsprint(col)打印结果4

常用2:获取一行中有多少列数据

# 返回该行的有效单元格长度num = table.row_len(0)print(num)打印结果4

常用3:获取指定行或者列中所有的数据

# rowx表示是获取第几行的数据# start_col表示从索引为多少开始,end_colx表示从索引为多少结束,# end_colx为None表示结束没有限制# 获取指定行中的数据并以列表的形式返回table_list = table.row_values(rowx=0, start_colx=0, end_colx=None)print(table_list)打印结果[’渡劫(送千万元宝)’, ’新手礼包’, ’主角技能书*20,三级攻击石*2,萌新相框*1’, ’nesHtg6Y’]

# colx表示是获取第几列的数据# start_rowx表示从索引为多少开始,end_rowx表示从索引为多少结束,# end_rowx为None表示结束没有限制# 获取指定列中的数据并以列表的形式返回table_list = table.col_values(colx=0, start_rowx=0, end_rowx=None)print(table_list)打印结果[’渡劫(送千万元宝)’, ’渡劫(送千万元宝)’, ’渡劫(送千万元宝)’, ’渡劫(送千万元宝)’, ’名扬沙城-杀猪爆充值’, ’名扬沙城-杀猪爆充值’]

补充:了解即可

#返回由该列中所有的单元格对象组成的列表print(table.row(0)) #返回由该行中所有的单元格对象组成的列表print(table.row_slice(0)) #返回由该行中所有单元格的数据类型组成的列表print(table.row_types(0, start_colx=0, end_colx=None)) 打印结果[text:’渡劫(送千万元宝)’, text:’新手礼包’, text:’主角技能书*20,三级攻击石*2,萌新相框*1’, text:’nesHtg6Y’][text:’渡劫(送千万元宝)’, text:’新手礼包’, text:’主角技能书*20,三级攻击石*2,萌新相框*1’, text:’nesHtg6Y’]array(’B’, [1, 1, 1, 1])

#返回由该列中所有的单元格对象组成的列表print(table.col(0, start_rowx=0, end_rowx=None)) #返回由该列中所有的单元格对象组成的列表print(table.col_slice(0, start_rowx=0, end_rowx=None)) #返回由该列中所有单元格的数据类型组成的列表print(table.col_types(0, start_rowx=0, end_rowx=None)) 打印结果[text:’渡劫(送千万元宝)’, text:’渡劫(送千万元宝)’, text:’渡劫(送千万元宝)’, text:’渡劫(送千万元宝)’, text:’名扬沙城-杀猪爆充值’, text:’名扬沙城-杀猪爆充值’][text:’渡劫(送千万元宝)’, text:’渡劫(送千万元宝)’, text:’渡劫(送千万元宝)’, text:’渡劫(送千万元宝)’, text:’名扬沙城-杀猪爆充值’, text:’名扬沙城-杀猪爆充值’][1, 1, 1, 1, 1, 1]四、单元格的操作1、获取单元中的值

# 获取指定单元格内的值value = table.cell_value(rowx=0, colx=1)print(value)打印结果新手礼包2、获取单元格内的组成对象和数据

value = table.cell(rowx=0, colx=1)print(value)打印结果text:’新手礼包’3、获取单元格的数据类型

python读取excel中单元格的内容返回的有5种类型。ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error。即date的ctype=3,这时需要使用xlrd的xldate_as_tuple来处理为date格式,先判断表格的ctype=3时xldate才能开始操作。

value = table.cell_type(rowx=0, colx=1)print(value)五、案例

需求:获取上面表格中的数据并依次打印出来

import xlrd# 打开工作薄workbook = xlrd.open_workbook(r’C:UsersWindows10Desktopxlsx文件.xlsx’)# 获取第一个sheet表格table = workbook.sheets()[0]# 获取行数rows = table.nrows# 获取列数cols = table.ncols# 循环获取每行的数据for row in range(rows): for col in range(cols): value = table.cell_value(row, col) print(’第{}行{}列的数据为:{}’.format(row, col, value))打印结果第0行0列的数据为:渡劫(送千万元宝)第0行1列的数据为:新手礼包第0行2列的数据为:主角技能书*20,三级攻击石*2,萌新相框*1第0行3列的数据为:nesHtg6Y第1行0列的数据为:渡劫(送千万元宝)第1行1列的数据为:特权礼包第1行2列的数据为:翅膀进阶丹*20,翅膀技能书*10,萌新气泡*1第1行3列的数据为:QqBSc7VJ第2行0列的数据为:渡劫(送千万元宝)第2行1列的数据为:独家礼包第2行2列的数据为:高级生命精华*10,升星石*20,法宝灵纹石*10第2行3列的数据为:NqsEdtBt第3行0列的数据为:渡劫(送千万元宝)第3行1列的数据为:预约礼包第3行2列的数据为:高级攻击精华*10,生命神兵印记包*5,老司机气泡*1第3行3列的数据为:P22vY6wa第4行0列的数据为:名扬沙城-杀猪爆充值第4行1列的数据为:万元青龙第4行2列的数据为:凌霄青龙*1第4行3列的数据为:NB999第5行0列的数据为:名扬沙城-杀猪爆充值第5行1列的数据为:尊贵VIP11第5行2列的数据为:5元*2、神羽*20、斗笠石(中)*20第5行3列的数据为:VIP999

到此这篇关于python中xlrd模块的使用详解的文章就介绍到这了,更多相关python xlrd模块内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!

标签: Python 编程
相关文章: