一、xlrd的安装
打开cmd输入pip install xlrd安装完成即可
二、xlrd模块的使用
下面以这个工作簿为例
1、导入模块
import xlrd
2、打开工作薄
# filename是文件的路径名称 workbook = xlrd.open_workbook(filename=r'C:\Users\Windows10\Desktop\xlsx文件.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.nrows print(row) 打印结果6
# 获取sheet中有效列数 col = table.ncols print(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:\Users\Windows10\Desktop\xlsx文件.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模块
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】