【Python-办公自动化】几秒搞定几天的工作量之根据指定要求汇总求和排序成278张表格

embedded/2024/11/9 16:45:00/

欢迎来到"花花 Show Python",一名热爱编程和分享知识的技术博主。在这里,我将与您一同探索Python的奥秘,分享编程技巧、项目实践和学习心得。无论您是编程新手还是资深开发者,都能在这里找到有价值的信息和灵感。
自我介绍:
我热衷于将复杂的技术概念以简单易懂的方式呈现给大家,让每个人都能享受到编程的乐趣。我相信,通过不断的学习和实践,我们都能够成为更好的开发者。
关注提示:
如果您喜欢我的内容,别忘了点击关注哦!这样您就可以第一时间获取我的更新和分享。您的支持是我不断前进的动力。

在这里插入图片描述
原始表格是这样的,有278张表格,我们需要根据指定的分组进行汇总求和并排序,最终完成这样的表格(见下图):
在这里插入图片描述
代码:

python">import pandas as pd  # 导入pandas库,用于数据处理  
import time  # 导入time库,用于测量代码执行时间  s_t = time.time()  # 记录代码开始执行的时间  # 新建一个空的DataFrame,用于存储汇总所有工作表的结果  
result = pd.DataFrame()  # 使用pandas的read_excel函数读取整个Excel文件中的所有工作表,header=2表示将第二行作为列名,sheet_name=None表示读取所有工作表  
df = pd.read_excel('日领料单.xlsx', header=2, sheet_name=None)  # 遍历df的键(即Excel中的工作表名)  
for sheet_name in df.keys():  # 对当前工作表的数据进行分组,按'物料编号'和'物料描述'分组,并计算'批号批数量'的总和  df_sum = df[sheet_name].groupby(['物料编号', '物料描述'])['批号批数量'].sum().reset_index()  # 将当前工作表的汇总结果追加到result DataFrame中  result = pd.concat([result, df_sum])  # 对result DataFrame按'物料编号'和'物料描述'进行分组,并再次计算'批号批数量'的总和,以去除可能的重复计数  
# 然后重置索引,并按'批号批数量'列的值降序排序  
final = result.groupby(['物料编号', '物料描述'])['批号批数量'].sum().reset_index().sort_values('批号批数量', ascending=False)  # 将最终的汇总结果保存到新的Excel文件中  
final.to_excel("汇总.xlsx")  e_t = time.time()  # 记录代码执行结束的时间  # 打印处理所有表格所用的时间  
print(f"处理278张表格共用时{e_t-s_t}秒")

http://www.ppmy.cn/embedded/95033.html

相关文章

Spring中dbUtil的概念和搭建使用

目录 1、什么是dbUtil 2、lombok插件 3、dbUtil通过xml来实现 4、SpringJunit的作用和效果 (1)标记测试方法和配置方法的注解 5、dbUtil通过注释来实现 6、dbUtil通过config配置类来实现 7、dbUtil通过aop的XML的实现 (1&#xff09…

手机在不同地方ip地址一样吗

在这个数字化时代,手机已成为我们日常生活中不可或缺的一部分,它不仅是我们沟通的工具,更是我们获取信息、娱乐休闲和社交互动的重要平台。然而,你是否曾好奇过,当你带着手机穿梭于不同的地方,手机的IP地址…

Hive学习(一)

一、Hive基本概念 1.简介:是基于Hadoop的一个数据仓库工具,可以将结 构化的数据文件映射成一张表,并提供 SQL查询功能,用于解决海量数据结构化日志的数据统计工具。 2.本质:将HQL转换成MapReduce程序 1&#…

网站如何被Google收录?

想让你的网站快速被Google收录?试试GSI快速收录服务吧,这是通过谷歌爬虫池系统来实现的。这套系统吸引并圈养Google爬虫,提高你网站的抓取频率。每天有大量Google爬虫抓取你的网站页面,大大提高了页面的收录概率,从而增…

FFmpeg源码:avio_tell函数分析

AVIOContext结构体和其相关的函数分析: FFmpeg源码:avio_r8、avio_rl16、avio_rl24、avio_rl32、avio_rl64函数分析 FFmpeg源码:avio_tell函数分析 一、avio_tell函数的定义 avio_tell函数定义在FFmpeg源码(本文演示用的FFmpeg…

算法:排序(前言)

所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的…

Sputnik 打靶渗透

一、信息收集 1、查看靶机的MAC地址: 2、查看靶机的ip地址: nmap 192.168.13.0/24 3、查看靶机开放的端口: nmap -p- -sC -sT -sV -A 192.168.13.159 4、分别访问靶机的8089、55555和61337端口,发现在61337端口有一个登录框&…

服务器远程管理-Windows远程桌面协议实操

目录 1.因为是在内网所有将操控服务器的计算机与服务器放在同一网段,如果是真实服务器可以直接访问其公网ip 2.启用远程桌面 3.在本地计算机连接远程计算机 4.连接成功 连接远程桌面方式有两种: 方式一:远程桌面通讯协议(RDP…