赞
踩
点击上方“Python爬虫与数据挖掘”,进行关注
回复“书籍”即可获赠Python从入门到进阶共10本电子书
今
日
鸡
汤
山映斜阳天接水,芳草无情,更在斜阳外。
大家好,我是皮皮。
前几天在Python最强王者交流群【东哥】问了一个Python自动化办公的问题。问题如下所示:大佬们,请教一个Python自动化办公问题,我有7个这样的民主评议表格,现在想通过Python批量的计算每个人最后的平均总分,应该怎么处理呢?
这个需求还挺有意思的,支部肯定每年都要开一次这样的会议,然后每次都需要专人来进行统计,如果挨个的对打开表格,然后复制、粘贴,汇总到统一的一个表格里边,这个方法未尝不可,但是这个方法就是有点费时费力了,而且非常繁琐。有时候,你可能因为人数太多,或者表格太多,复制的时候,少复制了,或者重复复制了,导致之前的数据有得重新删除,重新来一遍,这个就非常恼火了。这里给大家安利下Python自动化办公,助力你的统计。
这里【瑜亮老师】给了一个指导:批量读取7个表格,每个表格跳过前4行,读取后删除有null值的行,合并7个df,分组聚合取平均值,因为只要每个人的结果,因此不适合用transform。
- import pandas as pd
- import pathlib
- # 获取文件夹中每个Excel文件的路径
- folder = r"C:\Users\Desktop\民主评议表"
- excel_files = pathlib.Path(folder).glob('*.xls')
- header = ['姓名', '以学铸魂', '以学增智', '以学正风', '以学促干']
- data = []
- for i in excel_files:
- # 读取Excel文件,并跳过前4行,使用前5列数据
- df = pd.read_excel(i, skiprows=4, header=None, index_col=0, usecols="A:F")
- df.dropna(inplace=True)
- df.columns = header
- df['总分'] = df[header[1:]].sum(axis=1)
- df['平均分'] = df[header[1:]].mean(axis=1)*4
- data.append(df)
-
- # 纵向拼接data中的df数据
- df = pd.concat(data, axis=0).reset_index(drop=True)
- # 按照'姓名'列进行分组,并计算每个姓名的总分和平均分
- # result = df.groupby('姓名').agg({'总分': 'sum', '平均分': 'mean'}).reset_index().sort_values(by="平均分", ascending=False)
- result = df.groupby('姓名', as_index=False).agg(总分=('总分', 'sum'), 平均分=('总分', 'mean')).sort_values(by='平均分', ascending=False)
- # result = df.groupby('姓名', as_index=False).agg(总分=('总分', 'sum'), 平均分=('总分', 'mean'))
- print(result)
-
- # 将结果保存到新的Excel文件中
- # result.to_excel('output.xlsx', index=True)
代码运行之后,可以得到预期的结果,顺利地解决了粉丝的问题。
粉丝自己手动也计算出来了,结果和程序跑出来的吻合!
如果你也有类似这种Python相关的小问题,欢迎随时来交流群学习交流哦,有问必答!
【赠书活动】
零基础上手,让你快速精通:ChatGPT注册/登录→基本操作→提示词训练→文章生成→图片生成→视频生成→编写程序→高效办公→设计应用
【一句话推荐】
一本书开启AI高效办公时代,成为AI时代的先行者
【特色】
(1)零基础上手:本书的内容从零开始,力求浅显易懂,不需要额外的背景知识即可学习。
(2)前沿知识:本书力争将前沿的知识点和应用操作介绍给读者,帮助读者掌握新资讯和应用技能。
(3)形式丰富:本书内容除了文字描述,还有图片、表格、代码等多种表达形式,帮助读者更好地理解和掌握内容。
(4)案例丰富:本书通过丰富、翔实的案例和操作,引导读者轻松、快速地完成每项应用的操作。
(5)温馨提示:除了基础内容,每章附带的温馨提示提供了对当前讲解内容的补充和拓展,为读者答疑解惑,让学习者少走弯路。
【内容简介】
本书以人工智能领域最新翘楚“ChatGPT”为例,全面系统地讲解了ChatGPT的相关操作与热门领域的实战应用。
全书共10章,第1章介绍了ChatGPT是什么;第2章介绍了ChatGPT的注册与登录;第3章介绍了ChatGPT的基本操作与提问技巧;第4章介绍了用ChatGPT生成文章;第5章介绍了用ChatGPT生成图片;第6章介绍了用ChatGPT生成视频;第7章介绍了用ChatGPT编写程序;第8章介绍了ChatGPT的办公应用;第9章介绍了ChatGPT的设计应用;第10章介绍了ChatGPT的更多场景应用。
本书面向没有计算机专业背景又希望迅速上手ChatGPT操作应用的用户,也适合有一定的人工智能知识基础且希望快速掌握ChatGPT落地实操应用的读者学习。本书内容系统,案例丰富,浅显易懂,既适合ChatGPT入门的读者学习,也适合作为广大中职、高职、本科院校等相关专业的教材参考用书。
大家好,我是皮皮。这篇文章主要盘点了一个Python自动化办公的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
最后感谢粉丝【东哥】提出的问题,感谢【FiNε_】、【瑜亮老师】给出的思路,感谢【莫生气】等人参与学习交流。
【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。
大家在学习过程中如果有遇到问题,欢迎随时联系我解决(Python进阶者微信:2584914241),应粉丝要求,我创建了一些ChatGPT机器人交流群和高质量的Python付费学习交流群和付费接单群,欢迎大家加入我的Python学习交流群和接单群!
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
------------------- End -------------------
往期精彩文章推荐:
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
/今日留言主题/
随便说一两句吧~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。