山东平台网站建设找哪家,北京公司网站建设定,wordpress+移动,手机开发者模式怎么开#x1f935;♂️ 个人主页#xff1a;艾派森的个人主页 ✍#x1f3fb;作者简介#xff1a;Python学习者 #x1f40b; 希望大家多多支持#xff0c;我们一起进步#xff01;#x1f604; 如果文章对你有帮助的话#xff0c; 欢迎评论 #x1f4ac;点赞#x1f4… ♂️ 个人主页艾派森的个人主页 ✍作者简介Python学习者 希望大家多多支持我们一起进步 如果文章对你有帮助的话 欢迎评论 点赞 收藏 加关注 目录
一、Python处理Excel
二、用Python在Excel中查找并替换数据
三、往期推荐 四、文末推荐与福利 一、Python处理Excel Python处理Excel的好处
1.批量操作当要处理众多Excel文件时例如出现重复性的手工劳动那么使用Python就可以实现批量扫描文件、自动化进行处理利用代码代替手工重复劳动实现自动化是Python第一个比Excel强大的地方
2.大型文件当Excel文件超过几十兆、甚至上百兆时打开文件很慢、处理文件更加慢这时候若使用Python会发现处理几十兆、几百兆甚至几GB都是没有问题的
3.当使用Excel进行复杂的计算时会使用VBA但是VBA本身是过时并且复杂的语言Python是当前最简单且容易实现的一门语言用Python能够处理比VBA难度更高的业务逻辑
4.Python是通用语言不仅可以处理Excel使用Python就可以得到很多额外的功能例如爬虫、发布网页的Web服务、与数据库进行连接、同时结合word和PPT进行处理、加入定时任务处理、人工智能分析等各种额外的功能这是Excel和VBA所不具备的 Python处理Excel主要有三大类库
1.pandas是Python领域非常重要的用于数据分析和可视化的类库在处理Excel中90%可以利用pandas类库就可以搞掂利用pandas就可以读取Excel、处理Excel和输出Excel但是pandas也有缺点就是无法做到格式类例如Excel中合并单元、大量复杂的样式看起来很精美的时候用pandas无法搞掂此时依然是使用pandas结合openyxl、xlwings来搞掂需求
2.openpyxl若电脑上未安装office时也可以使用openpyxl这个类型可以运行在linux上并且也可以实现操作大部分Excel格式和样式的功能使用它配合pandas也可以完成大部分场景的需求
3.xlwings比openyxl更加强大只能运行在Windows或者Mac系统并且该系统中必须安装了office才能运行xlwings的原理就是基于当前系统已经安装好的office软件来进行功能的拓展来操作Excel 使用pandas的时候经常会结合其他类库来完成更加复杂的功能 requests, bs4可以完成爬虫的功能 flask可以做网页把表格展示在网页上 Matplotlib读取表格后进行可视化 sklearn进行复杂的数据分析时也可以结合机器学习Sklearn把读取的Excel数据进行数据分析和机器学习 Python-docx也可以结合Python-docx类库实现Excel和word的互通 smtplib也可以使用smtplib讲Excel数据发送邮件出去 开发环境
操作系统使用windows, mac都可以
Python版本系统中需要安装Python3.6以上的版本Python2已经过期不建议使用Python3.6以前的版本功能相对弱最好就是采用Python3.6以上的版本
开发工具有两个可以选择jupyter notebook是个网页编辑器可以运行Python常常用于交互性、探索性的开发pycharm用于成熟脚本或者web服务的一些开发这两个工具可以随意选择。
二、用Python在Excel中查找并替换数据
技术工具
Python版本:3.9
代码编辑器jupyter notebook 随着项目的进展需要经常在Excel业务表格中查找及替换数据已保证数据与实际项目进度一致。手动一个一个查找然后替换效率太低还容易遗漏。现在我们来试试用Python自动完成查找及替换吧。具体要求如下。 首先我们先将左边表格中的数据提取并存入字典data其键为“查找内容”中的数据值为“替换内容”中的数据。
from openpyxl import load_workbook #用于读取Excel中的信息
#获取Excel表格中的数据
wb load_workbook(查找替换.xlsx)#读取工作簿
ws wb.active #读取活动工作表
data{} #新建字典用于储存数据for row in range(2,ws.max_row1):chazhao str(ws[A str(row)].value) #转换成字符串以免后续比对时出现数据类型冲突tihuan str(ws[B str(row)].value) #转换成字符串以免后续比对时出现数据类型冲突data[chazhao]tihuan #键值对应存入字典
data 然后读取目标表格将D列中的所有数据提取出来以便后续比对及替换。通过for循环遍历“原表”将D列每个单元格的值提取并存入ID_list。然后通过切片ID_list[:10]查看前10个数据是否OK。结果显示相当正常。
wb load_workbook(原表.xlsx) #读取目标工作簿
ws wb.active
ID_list [] #新建一个列表用于储存原表D列的信息
for row in range(2,ws.max_row1):ID ws[D str(row)].value #遍历整个工作表将D列的数据逐个存入ID变量ID_list.append(ID) #将读取到的结果存入列表
ID_list[:10] #查看列表中前10个数据 type() 为了比对数据我们需要将说明码77601中的“说明码”字符拿掉只保留“77601”。于是调用split函数来进行分割并将分割好的数字部分存入新建的列表code。不好居然报错了说ID_list列表中有None空类型的数据而None类型的数据是不能使用split函数的。目测了一下ID_list列表中除了说明码77601和这样的空字符串没看到None啊。再回来“原表”侦察一下发现最下面还有一些单元格很有嫌疑。原来是表尾有一些“供应商”和仓位信息这些信息所在位置对应的D列都是空单元格其值为None。用ID_list[-10:]查看最后10个元素果然都是None。 code [i.split()[-1] for i in ID_list]
code ID_list[-10:] 这样我们就知道ID_list中有三种数据即含内容的字符串比如说明码77601空字符串比如和空值None。因此需要修改一下字符串分割代码如下。加入了if判断语句如果ID_list中的值是None则放入None占位以保持列表的值的顺序与原表一致值不是None则按符号分割并放分割后的最后一个值[-1]进入新列表code。空字符串在这里也要经过split分割但其中没有“”符号所以就分割不了只得直接跳过最后放入新列表的还是空字符串。
code []
for i in ID_list:if i None:# 如果是None则放入None占位以保持列表的值的顺序与原表一致code.append(None)else:code.append(i.split()[-1]) #不是None,则按符号分割并放分割后的最后一个值进入新列表code
code[:10] 处理完数据后即可开始查找并替换目标数据了。用for循环遍历列表code即原表D列中的数字部分。如果其中的值也存在于data的键中即语句if code[i] in data则将原表中D列(column4)对应的行中的数据改写成新的值。新的值由两部分组成一部分是“说明码”这样的即ID_list[i].split()[0]另一部分则是要替换的数字即data[code[i]]。这样保证只替换了需要替换的数字部分而保留中文和冒号部分。最后保存为新的文件替换完成。
for i in range(len(code)):if code[i] in data:ws.cell(rowi2,column4).value ID_list[i].split()[0] data[code[i]]
wb.save(原表-替换.xlsx) 如果以上不能通过观察原表发现空值问题还可以用enumerate函数给列表里的所有元素加上索引以便精确定位ID_list中的空值。加上索引后在转换成列表并存入新的列表ID_list_idx中。观察其中前10个数据可见索引已加好了。然后遍历新列表判断其中的值是否为空值若是则打印其对应的索引编号这样就能精准定位哪些是空值了再回到原Excel表就容易弄清楚发生了什么事啦。其中新列表中的元素的结构是一个元组像这样(2, 说明码77601)i[0]是索引2i[1]是索引对应的值说明码77601。
ID_list_idx list(enumerate(ID_list)) #加索引
ID_list_idx[:10] for i in ID_list_idx: #遍历列表if i[1] None: #判断索引对应的值是否为空值。i的结构是一个元组像这样(2, 说明码77601)i[0]是索引i[1]是索引对应的值print(i[0]) #打印索引编号 三、往期推荐
Python提取pdf中的表格数据附实战案例
使用Python自动发送邮件
Python操作ppt和pdf基础
Python操作word基础
Python操作excel基础
使用Python一键提取PDF中的表格到Excel 使用Python批量生成PPT版荣誉证书
使用Python批量处理Excel文件并转为csv文件 四、文末推荐与福利 《码上行动利用Python与ChatGPT高效搞定Excel数据分析》免费包邮送出3本 内容简介 本书在理论方面和实践方面都讲解得浅显易懂能够让读者快速上手一步步学会使用Python与Excel相结合进行数据处理与分析。 全书内容分3个部分共12章。第1~4章为入门部分主要介绍什么是数据分析以及Python的编程环境和基础语法知识。第5~9章为进阶部分主要介绍数据处理和分析的各种方法。第10~12章为实战部分这部分的3个实例综合了本书前面部分的知识点介绍了如何结合Python与Excel在实际工作中进行数据处理与分析操作。 本书内容由浅入深且配有案例的素材文件和代码文件便于读者边学边练。本书还创新性地将ChatGPT引入教学当中给读者带来全新的学习方式。本书既适合Python和数据分析的初学者学习也适合希望从事数据分析相关行业的读者学习还可作为广大职业院校数据分析培训相关专业的教材参考用书。 编辑推荐 1本书面向零基础读者无须额外的背景知识即可学习PythonExcel进行数据分析。本书讲解细致便于读者由浅入深地学习。 2内容系统、体系完整可以帮助读者快速全面地了解Python的基本语法并掌握开发能力。 3理论与实践相结合每个理论都有对应的代码示例读者参考代码示例完成编写就可以看到实践效果。 4本书配有实训与问答方便读者阅读后尽快巩固知识点做到举一反三、学以致用。 5将AI前沿产品ChatGPT应用到Python进行Excel数据分析学习的过程中演示了如何利用ChatGPT提高学习和开发的效率。 抽奖方式评论区随机抽取3位小伙伴免费送出参与方式关注博主、点赞、收藏、评论区评论“人生苦短拒绝内卷”切记要点赞收藏否则抽奖无效每个人最多评论三次活动截止时间2023-09-20 20:00:00 购买链接https://item.jd.com/14069538.html 名单公布时间2023-09-20 21:00:00