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里disconnect UDP套接字的方法
Apr 23 Python
Windows环境下python环境安装使用图文教程
Mar 13 Python
python中单下划线_的常见用法总结
Jul 10 Python
Flask之flask-session的具体使用
Jul 26 Python
手把手教你使用Python创建微信机器人
Apr 29 Python
解决Django中多条件查询的问题
Jul 18 Python
pytorch获取vgg16-feature层输出的例子
Aug 20 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
Python super()函数使用及多重继承
May 06 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
Jun 01 Python
python中用ggplot绘制画图实例讲解
Jan 26 Python
Python卷积神经网络图片分类框架详解分析
Nov 07 Python
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
opencv-python图像配准(匹配和叠加)的实现
Python初学者必备的文件读写指南
Jun 23 #Python
总结Python连接CS2000的详细步骤
python图片灰度化处理的几种方法
详解Python中的进程和线程
详解Go语言运用广度优先搜索走迷宫
You might like
php 用checkbox一次性删除多条记录的方法
2010/02/23 PHP
php checkbox 取值详细说明
2010/08/19 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
2014/06/26 PHP
thinkphp如何获取客户端IP
2015/11/03 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
JavaScript与函数式编程解释
2007/04/27 Javascript
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
javascript 用函数语句和表达式定义函数的区别详解
2014/01/06 Javascript
关于延迟加载JavaScript
2015/05/05 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
2015/08/08 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
2015/11/06 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
javascriptvoid(0)含义以及与"#"的区别讲解
2019/01/19 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
实现vuex原理的示例
2020/10/21 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
python rsa 加密解密
2017/03/20 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
通过实例解析python and和or使用方法
2020/11/14 Python
用python读取xlsx文件
2020/12/17 Python
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
校园报刊亭的创业计划书
2014/01/02 职场文书
第二课堂活动总结
2014/05/07 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
幼儿教师辞职信
2015/02/27 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
职业生涯规划书之大学四年
2019/08/07 职场文书