纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

Python批量处理 Python使用openpyxl批量处理数据

langlixiaomaomi   2021-06-23 我要评论
想了解Python使用openpyxl批量处理数据的相关内容吗langlixiaomaomi在本文为您仔细讲解Python批量处理的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Python批量处理,Python,openpyxl运用下面大家一起来学习吧

   前言因为经常使用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)

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

在这里插入图片描述

操作工作表

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

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:\\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')

运行后表格如下

姓名后依次增加一个数字

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

根据某一项内容改变对应项的内容
如果姓名含“雷”这个字则要将其电话更改为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也很强大能够批量处理Excel数据但本人python功底不足代码实在不好看希望有大神指点一二共同提高python水平


相关文章

猜您喜欢

  • Python图像操作和处理 Python一些基本的图像操作和处理总结

    想了解Python一些基本的图像操作和处理总结的相关内容吗Eaton_chen在本文为您仔细讲解Python图像操作和处理的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Python图像操作,Python图像处理下面大家一起来学习吧..
  • Java 数据结构 并查集 详解Java实现数据结构之并查集

    想了解详解Java实现数据结构之并查集的相关内容吗bigsai在本文为您仔细讲解Java 数据结构 并查集的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Java,数据结构,Java,并查集下面大家一起来学习吧..

网友评论

Copyright 2020 www.gamerfx.net 【游戏天空】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式