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中mechanize库的简单使用示例
Jan 10 Python
详解Python中列表和元祖的使用方法
Apr 25 Python
Python使用MYSQLDB实现从数据库中导出XML文件的方法
May 11 Python
Python中的os.path路径模块中的操作方法总结
Jul 07 Python
python3.0 模拟用户登录,三次错误锁定的实例
Nov 02 Python
Python编程产生非均匀随机数的几种方法代码分享
Dec 13 Python
利用Python如何批量更新服务器文件
Jul 29 Python
python使用pygame模块实现坦克大战游戏
Mar 25 Python
python区块及区块链的开发详解
Jul 03 Python
如何使用Python抓取网页tag操作
Feb 14 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
Jun 02 Python
Python基于内置函数type创建新类型
Oct 22 Python
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
opencv-python图像配准(匹配和叠加)的实现
Python初学者必备的文件读写指南
Jun 23 #Python
总结Python连接CS2000的详细步骤
python图片灰度化处理的几种方法
详解Python中的进程和线程
详解Go语言运用广度优先搜索走迷宫
You might like
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
2014/06/27 PHP
php模拟登陆的实现方法分析
2015/01/09 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
2019/10/21 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
js 禁止选择功能实现代码(兼容IE/Firefox)
2010/04/23 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
2016/09/06 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
Angular.Js之Scope作用域的学习教程
2017/04/27 Javascript
React简单介绍
2017/05/24 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
微信小程序获取当前位置和城市名
2019/11/13 Javascript
vue使用recorder.js实现录音功能
2019/11/22 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
python MNIST手写识别数据调用API的方法
2018/08/08 Python
Python字符串的修改方法实例
2019/12/19 Python
jupyter notebook 多环境conda kernel配置方式
2020/04/10 Python
python语言是免费还是收费的?
2020/06/15 Python
keras 简单 lstm实例(基于one-hot编码)
2020/07/02 Python
美国真皮手袋品牌:GiGi New York
2017/03/10 全球购物
白酒市场开发计划书
2014/01/09 职场文书
高二学生评语大全
2014/04/25 职场文书
因个人原因离职的辞职信范文
2015/05/12 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
工作服管理制度范本
2015/08/06 职场文书
PyQt5 显示超清高分辨率图片的方法
2021/04/11 Python