本篇文章小编给大家分享一下Python使用openpyxl批量处理数据代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
安装openpyxl
这个要说简单也很简单,就是 pip install openpyxl
难也十分难,因为很多人安装不成功,各种报错,而且错误都是英文,还看不懂。大家可以搜索安装openpyxl,有教程指导,应该问题不大。
开始学习
首先导入库 openpyxl
import openpyxl as op
‘引入库,并把库的名字改为op,这样后面操作会少打很多字母,毕竟懒才是促进社会进步的阶梯'
打开指定工作表
wb = op.load_workbook('C:UsersAdministratorDesktop演示表.xlsx')
注意 中第一个斜杠是转移符, .xlsx才是openpyxl可以处理的格式
显示工作表中有哪些子表
print(wb.sheetnames)
我操作的工作表中只有一个表,代码显示结果是
操作工作表
要实现操作工作表,首先要选中它
w1 = wb['表1']
有多种方法可以选中这个表,这里就用最简单的一种,就是 工作表 + 子表名字
打印一个A1表格的内容
print((w1['A1'].value))
打印一列表格的内容,
for i in w1['A']: print(i.value)
打印一列表格中部分内容
for i in w1['A2':'A5']: for j in i: print(j.value)
注意,这里多加了一个循环,在选中一列中部分表格时(A2到A5),第一次循环产生的格式和选中整列的格式会不一样,需要再一次循环,才能访问到单元格的值
批量改变某一列的内容
我们将给户主姓名这一列加入数字,一次为1,2,3,4…
import openpyxl as op wb = op.load_workbook('C:UsersAdministratorDesktop演示表.xlsx') print(wb.sheetnames) w1 = wb['表1'] m = 0 for i in w1['B3':'B12']: for j in i: m = m + 1 s = j.value + str(m) w1['B%d'%(m+2)] = s wb.save('C:UsersAdministratorDesktop演示表.xlsx')
运行后表格如下
需要注意的是,操作时表格应处于关闭状态,操作完需要保存命令
根据某一项内容,改变对应项的内容
如果姓名含“雷”这个字,则要将其电话更改为0
import openpyxl as op wb = op.load_workbook('C:UsersAdministratorDesktop演示表.xlsx') print(wb.sheetnames) w1 = wb['表1'] m = 0 for i in w1['B3':'B12']: for j in i: for n in j.value: if n == '雷': s = str(j) s = s[-3:] s = ''.join([x for x in s if x.isdigit()]) s = int(s) w1['D%d'%s] = 0 print(s) wb.save('C:UsersAdministratorDesktop演示表.xlsx')
这段代码实现了我们的诉求,即如果姓名含“雷”这个字,则要将其电话更改为0,但是十分丑陋,因为我没找到一个简洁的命令或是方法,实现根据单元格参数筛选出对应的行数,希望有这个的大神指点迷津,这是这段代码的结果
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔