Python使用openpyxl批量处理数据


Posted in Python onJune 23, 2021

   前言,因为经常使用Excel处理数据,像表格内的筛选,表格间数据的复制,都是简单重复的操作,十分枯燥无聊,为了提高效率,主要是自己懒,特地研究openpyxl,发现能够简化个人劳动量,自己也是小白,特意写一篇文章,共同探讨。

安装openpyxl

这个要说简单也很简单,就是 pip install openpyxl
难也十分难,因为很多人安装不成功,各种报错,而且错误都是英文,还看不懂。大家可以搜索安装openpyxl,有教程指导,应该问题不大。

开始学习

首先导入库 openpyxl

import openpyxl as op
‘引入库,并把库的名字改为op,这样后面操作会少打很多字母,毕竟懒才是促进社会进步的阶梯'

打开指定工作表

wb = op.load_workbook('C:\\Users\\Administrator\\Desktop\\演示表.xlsx')

注意 \中第一个斜杠是转移符, .xlsx才是openpyxl可以处理的格式

显示工作表中有哪些子表

print(wb.sheetnames)

我操作的工作表中只有一个表,代码显示结果是

Python使用openpyxl批量处理数据

操作工作表

要实现操作工作表,首先要选中它

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),第一次循环产生的格式和选中整列的格式会不一样,需要再一次循环,才能访问到单元格的值

批量改变某一列的内容

Python使用openpyxl批量处理数据

我们将给户主姓名这一列加入数字,一次为1,2,3,4…

import openpyxl as op
wb = op.load_workbook('C:\\Users\\Administrator\\Desktop\\演示表.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:\\Users\\Administrator\\Desktop\\演示表.xlsx')

运行后表格如下

Python使用openpyxl批量处理数据

需要注意的是,操作时表格应处于关闭状态,操作完需要保存命令

根据某一项内容,改变对应项的内容
如果姓名含“雷”这个字,则要将其电话更改为0

import openpyxl as op
wb = op.load_workbook('C:\\Users\\Administrator\\Desktop\\演示表.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:\\Users\\Administrator\\Desktop\\演示表.xlsx')

这段代码实现了我们的诉求,即如果姓名含“雷”这个字,则要将其电话更改为0,但是十分丑陋,因为我没找到一个简洁的命令或是方法,实现根据单元格参数筛选出对应的行数,希望有这个的大神指点迷津,这是这段代码的结果

Python使用openpyxl批量处理数据

总结

python 很强大,openpyxl也很强大,能够批量处理Excel数据,但本人python功底不足,代码实在不好看,希望有大神指点一二,共同提高python水平

以上就是Python使用openpyxl批量处理数据的详细内容,更多关于Python批量处理的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python实现的希尔排序算法实例
Jul 01 Python
Swift 3.0在集合类数据结构上的一些新变化总结
Jul 11 Python
python类中super()和__init__()的区别
Oct 18 Python
python爬虫爬取快手视频多线程下载功能
Feb 28 Python
基于Python 装饰器装饰类中的方法实例
Apr 21 Python
python用opencv批量截取图像指定区域的方法
Jan 24 Python
Python二维码生成识别实例详解
Jul 16 Python
python tkinter库实现气泡屏保和锁屏
Jul 29 Python
python字符串反转的四种方法详解
Dec 02 Python
Python开发企业微信机器人每天定时发消息实例
Mar 17 Python
Python实现列表索引批量删除的5种方法
Nov 16 Python
Pygame Draw绘图函数的具体使用
Nov 17 Python
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
opencv-python图像配准(匹配和叠加)的实现
Python初学者必备的文件读写指南
Jun 23 #Python
总结Python连接CS2000的详细步骤
python图片灰度化处理的几种方法
详解Python中的进程和线程
详解Go语言运用广度优先搜索走迷宫
You might like
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
php递归创建目录的方法
2015/02/02 PHP
Yii2如何批量添加数据
2016/05/17 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
js函数调用的方式
2014/05/06 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
2015/12/25 Javascript
关于TypeScript模块导入的那些事
2018/06/12 Javascript
vue的滚动条插件实现代码
2019/09/07 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
python读写ini配置文件方法实例分析
2015/06/30 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
2014/05/07 HTML / CSS
“型”走纽约上东区:Sam Edelman
2017/04/02 全球购物
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
计算机系毕业生推荐信
2013/11/06 职场文书
大一新生军训时的自我评价分享
2013/12/05 职场文书
消防安全责任书
2014/04/14 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
个人委托书怎么写
2014/09/17 职场文书
市场部经理岗位职责
2015/02/02 职场文书
2015年新学期寄语
2015/02/26 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
2016年三严三实党课学习心得体会
2016/01/06 职场文书
教你用python控制安卓手机
2021/05/13 Python
Python采集壁纸并实现炫轮播
2022/04/30 Python