产品推广网站模板,ih5制作平台官网免费,滕州网站建设制作,网站的步骤#x1f935;♂️ 个人主页#xff1a;艾派森的个人主页 ✍#x1f3fb;作者简介#xff1a;Python学习者 #x1f40b; 希望大家多多支持#xff0c;我们一起进步#xff01;#x1f604; 如果文章对你有帮助的话#xff0c; 欢迎评论 #x1f4ac;点赞#x1f4… ♂️ 个人主页艾派森的个人主页 ✍作者简介Python学习者 希望大家多多支持我们一起进步 如果文章对你有帮助的话 欢迎评论 点赞 收藏 加关注 目录
一、Python处理Excel
二、在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服务的一些开发这两个工具可以随意选择。
二、在Excel中按条件筛选数据并存入新的表
技术工具
Python版本:3.9
代码编辑器jupyter notebook 去年共有278天领用了物料记录在278张Excel表中。现在老板想将所有物料按领用量从高到低排序以便查看前10种领用最多的物料的情况。如果手工操作需要把每张工作表的内容合并在一起再用数据透视表来做。而对于这种重复操作Phthon最擅长。但Python还有个功能强大的pandas(Python Data Analysis Library)库专门用于做数据分析。它包含很多数据处理的函数和方法可帮助我们快捷高效地处理数据。现在我们就来演示如何用pandas统计一个Excel工作簿中278张表的数据并汇总排序。我们先导入pandas库为方便后续简化书写大家都习惯于给它起个小名叫pd。
import pandas as pd 然后我们先用pd.read_excel()打开第一张工作表试试水打开后存入变量df。传入要打开的工作簿即日领料单.xlsx。数据的字段名在第三行指定header2。因为header是用0表示第一行所以第三行对应的索引为2。第一张表的名称叫01-03所以指定参数sheet_name 01-03。打开后用df.head()看一下效果这个函数值看头几行数据括号内不填具体数量则默认头五行。相对应的df.tail()则是看末尾5行。 df pd.read_excel(日领料单.xlsx ,header2, sheet_name 01-03)
df.head() 数据显示与Excel表中完全一致那就可以开始下一步了即按照“物料编号”和“物料描述”字段将“批号批数量”加总。这里将使用到groupby()它的作用是分组聚合有点类似数据透视表中的“行”。此处我们按“物料编号”和“物料描述”分组聚合数据并按“批号批数量”加总[批号批数量].sum()。因为汇总数据后行会减少(从191行减少到163行)所以需要重设行编号reset_index()按0~162重新编号。
#按物料编号加总领料数量
df_sum df.groupby([物料编号,物料描述])[批号批数量].sum().reset_index()
df_sum.tail() #看尾部5行的数据 然后我们用sort_values()排序排序规则是从大到小ascending False并看前10项的数据head(10)。这个跟Excel中的数据透视表得到的结果完全一致。 df_sum.sort_values(批号批数量,ascending False).head(10) 以上是对单个工作表的处理下面我们用同样的方式遍历全部278张工作表然后汇总数据。先新建一个空的数据框result用于存储汇总所有工作表的结果。然后通过传入参数sheet_name None即不指定工作表则全部读取读取整个Excel文件中的所有工作表。然后按工作表名遍历所有工作表分组聚合加总“批号批数量”将汇总后的数据框df_sum通过连接函数concat增加到result中。在此处concat有点类似于列表中的append增加元素的功能这里增加的是DataFrame。其作用的示意图如下。 #新建一个DataFrame用于存储汇总所有工作表的结果
result pd.DataFrame()#读取整个Excel文件中的所有表
df pd.read_excel(日领料单.xlsx, header2, sheet_name None)
#按表名遍历处理数据
for sheet_name in df.keys(): #按物料编号加总领料数量df_sum df[sheet_name].groupby([物料编号,物料描述])[批号批数量].sum().reset_index() result pd.concat([result,df_sum])result.head() 以上df.keys()存有所有工作表名共278个。通过for循环逐个从其中取出名字然后通过名字读取数据及汇总。
df.keys() 数据汇总在一起后需要再最后分类汇总一下因为每天领取的物料是有重复的需要将相同物料编号对应的数量加总并降序排序。最终得到领用量最多的10个物料。
final result.groupby([物料编号,物料描述])[批号批数量].sum().reset_index().sort_values(批号批数量,ascending False)
final.head(10) 我们还可以将最终结果保存为Excel文件以便在Excel中操作。
final.to_excel(汇总.xlsx) 三、往期推荐
Python提取pdf中的表格数据附实战案例
使用Python自动发送邮件
Python操作ppt和pdf基础
Python操作word基础
Python操作excel基础
使用Python一键提取PDF中的表格到Excel 使用Python批量生成PPT版荣誉证书
使用Python批量处理Excel文件并转为csv文件
四、文末推荐与福利 《AI时代程序员开发之道》免费包邮送出3本 内容简介 《AI时代程序员开发之道ChatGPT让程序员插上翅膀》是一本介绍如何使用ChatGPT的实用手册它建立了一个新的程序员开发模式。《AI时代程序员开发之道ChatGPT让程序员插上翅膀》从介绍 “ChatGPT第一次接触”开始深入分析如何使用该工具来提高开发效率和质量。《AI时代程序员开发之道ChatGPT让程序员插上翅膀》的每一章都涵盖了ChatGPT的不同应用场景从编写各种文档到辅助进行需求分析和系统设计以及数据库设计和开发高质量代码等均有详尽的讲解。读者将从中了解到如何利用ChatGPT这一AI工具来辅助程序员更加高效地开发软件。 《AI时代程序员开发之道ChatGPT让程序员插上翅膀》还特别介绍了如何使用ChatGPT辅助进行系统测试以及任务管理并对源代码底层逻辑进行了深入分析。这个全面的框架将帮助读者在软件开发过程中更好地管理和优化代码。最后《AI时代程序员开发之道ChatGPT让程序员插上翅膀》以两个实战案例作为结尾第一个是使用ChatGPT辅助开发PetStore宠物商店项目第二个是使用ChatGPT辅助开发“我的备忘录”App。这两个实战案例将会帮助读者更好领悟如何将ChatGPT引入具体的软件开发中。 抽奖方式评论区随机抽取3位小伙伴免费送出参与方式关注博主、点赞、收藏、评论区评论“人生苦短拒绝内卷”切记要点赞收藏否则抽奖无效每个人最多评论三次活动截止时间2023-10-14 20:00:00 京东购买链接https://item.jd.com/13816183.html 当当网购买链接http://product.dangdang.com/29610424.html 名单公布时间2023-10-14 21:00:00