当前位置:   article > 正文

盘点一个Python自动化办公实战问题——统计民主评议表格

python统计excel投票

点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

山映斜阳天接水,芳草无情,更在斜阳外。

大家好,我是皮皮。

一、前言

前几天在Python最强王者交流群【东哥】问了一个Python自动化办公的问题。问题如下所示:大佬们,请教一个Python自动化办公问题,我有7个这样的民主评议表格,现在想通过Python批量的计算每个人最后的平均总分,应该怎么处理呢?

a469f44b7837072e0c80b638e4999dd5.png

二、实现过程

这个需求还挺有意思的,支部肯定每年都要开一次这样的会议,然后每次都需要专人来进行统计,如果挨个的对打开表格,然后复制、粘贴,汇总到统一的一个表格里边,这个方法未尝不可,但是这个方法就是有点费时费力了,而且非常繁琐。有时候,你可能因为人数太多,或者表格太多,复制的时候,少复制了,或者重复复制了,导致之前的数据有得重新删除,重新来一遍,这个就非常恼火了。这里给大家安利下Python自动化办公,助力你的统计。

这里【瑜亮老师】给了一个指导:批量读取7个表格,每个表格跳过前4行,读取后删除有null值的行,合并7个df,分组聚合取平均值,因为只要每个人的结果,因此不适合用transform。

  1. import pandas as pd
  2. import pathlib
  3. # 获取文件夹中每个Excel文件的路径
  4. folder = r"C:\Users\Desktop\民主评议表"
  5. excel_files = pathlib.Path(folder).glob('*.xls')
  6. header = ['姓名''以学铸魂''以学增智''以学正风''以学促干']
  7. data = []
  8. for i in excel_files:
  9.     # 读取Excel文件,并跳过前4行,使用前5列数据
  10.     df = pd.read_excel(i, skiprows=4, header=None, index_col=0, usecols="A:F")
  11.     df.dropna(inplace=True)
  12.     df.columns = header
  13.     df['总分'] = df[header[1:]].sum(axis=1)
  14.     df['平均分'] = df[header[1:]].mean(axis=1)*4
  15.     data.append(df)
  16. #  纵向拼接data中的df数据
  17. df = pd.concat(data, axis=0).reset_index(drop=True)
  18. #  按照'姓名'列进行分组,并计算每个姓名的总分和平均分
  19. # result = df.groupby('姓名').agg({'总分''sum''平均分''mean'}).reset_index().sort_values(by="平均分", ascending=False)
  20. result = df.groupby('姓名', as_index=False).agg(总分=('总分''sum'), 平均分=('总分''mean')).sort_values(by='平均分', ascending=False)
  21. # result = df.groupby('姓名', as_index=False).agg(总分=('总分''sum'), 平均分=('总分''mean'))
  22. print(result)
  23. # 将结果保存到新的Excel文件中
  24. # result.to_excel('output.xlsx', index=True)

代码运行之后,可以得到预期的结果,顺利地解决了粉丝的问题。

f4a42e5628dcd752806db73b926bbda9.png

粉丝自己手动也计算出来了,结果和程序跑出来的吻合!

df408d486867dd40a3c9a484e636eaac.png

如果你也有类似这种Python相关的小问题,欢迎随时来交流群学习交流哦,有问必答!

【赠书活动】

零基础上手,让你快速精通:ChatGPT注册/登录→基本操作→提示词训练→文章生成→图片生成→视频生成→编写程序→高效办公→设计应用

edfba5d47b70c0697e0abc39f4b0251d.jpeg

【一句话推荐】

一本书开启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文件就行。

ac40a8b2aa09c20e5f61a0e1bebcb5e1.png

大家在学习过程中如果有遇到问题,欢迎随时联系我解决(Python进阶者微信:2584914241),应粉丝要求,我创建了一些ChatGPT机器人交流群和高质量的Python付费学习交流群和付费接单群,欢迎大家加入我的Python学习交流群和接单群!

8162cf4406600810dea4fb0095cd47fa.png

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

fcd3da4ea6427b041c56d2f862c70bce.jpeg

------------------- End -------------------

往期精彩文章推荐:

969eec541e6cfdb2e5dbe6883fc3272b.png

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/799502
推荐阅读
相关标签
  

闽ICP备14008679号