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

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

时间:2024-08-14 16:23:42浏览次数:18  
标签:物料 办公自动化 表格 Python df result time 278 批号

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

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

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}秒")

标签:物料,办公自动化,表格,Python,df,result,time,278,批号
From: https://blog.csdn.net/2202_76035290/article/details/141191176

相关文章

  • Python 栅格数据处理教程(二)
    本文将介绍通过ArcGISPro的Python模块(arcpy)对栅格数据进行栅格计算及数据统计的方法。1数据来源及介绍本文使用的数据为国家青藏高原科学数据中心的中国1km分辨率逐月降水量数据集基础上通过《Python栅格数据处理教程(一)》中的方法提取出的吉林省范围降水量数据。该数据......
  • Python - 详情介绍Zmail发送邮件(支持普通&企业邮箱,163、QQ、gmail...)
    Python-详情介绍Zmail发送邮件为了满足在python项目中收发邮件给其他人,可利用自己的邮箱账号结合Zmail来完成。Zmail使得在python3中发送和接受邮件变得更简单。你不需要手动添加服务器地址、端口以及适合的协议。Zmail仅支持python3,不需要任何外部依赖.不支持python2......
  • springboot+vue《Python数据分析》的教学系统【程序+论文+开题】-计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着大数据时代的到来,数据分析技能已成为各行各业不可或缺的核心竞争力之一。Python,作为一门高效、灵活且拥有丰富数据分析库的编程语言,正逐步成为数据分析领域的主流工具。然而,当前高等教育体系中,《Python数据分析》课程的教学仍面临......
  • Robyn与FastAPI全面对比:选择最适合你的Python Web框架
    引言1.1背景介绍在当今的软件开发领域,选择合适的Web框架对于项目的成功至关重要。Python作为一种广泛使用的编程语言,其生态系统中涌现出了众多优秀的Web框架,如FastAPI和Robyn。FastAPI自发布以来,因其高性能、易用性和自动生成API文档的特性,迅速成为开发者的首选。而Robyn......
  • 2788647047_init_multiprocessing
    函数`_init_multiprocessing`的主要功能是在多进程模式下初始化用于网络捕获的工作进程。以下是该函数的详细功能描述:1.**全局变量初始化**:-`_buffer`:用于网络捕获的内存映射缓冲区。-`_multiprocessing`:是否启用多进程。-`_n`:一个多进程共享的计数器。2.**......
  • 2788647047_monitor
    函数`monitor`的主要功能是监控指定的网络接口或PCAP文件,并处理捕获到的数据包。以下是该函数的详细功能描述:1.**打印监控开始信息**:-`print("[^]running...")`:打印监控开始的信息。2.**数据包处理函数**:-`packet_handler`:定义了一个数据包处理函数,它接受数据链......
  • 2788647047_main
    函数`main`的主要功能是启动传感器软件,并根据命令行参数进行配置和监控网络。以下是该函数的详细功能描述:1.**命令行参数处理**:-遍历命令行参数`sys.argv`。-如果找到`-q`参数,则将标准输出重定向到`os.devnull`。-如果找到`-i`参数,则将指定的文件添加到监控......
  • 2788647047_ismain
    在Python脚本中,`if__name__=="__main__":`块通常用于脚本的入口点,确保脚本在被其他Python程序作为模块导入时不会执行该块内的代码。以下是`if__name__=="__main__":`块内代码的详细功能描述:1.**初始化代码状态**:-`code=0`:初始化一个变量`code`,用于表示脚本的......
  • 2788647047_server
    这段代码是Maltrail(一个开源的网络安全监控和分析工具)的一部分,用于启动服务器,处理更新,并执行监控任务。以下是代码的详细功能描述:1.**版权声明**:-代码开始于版权声明,声明代码的版权信息和许可信息。2.**兼容性设置**:-使用`from__future__importprint_function`确保......
  • 2788647047_process_packet_1(1)
    在函数`_process_packet`中,这段代码的功能是进行启发式分析,特别是针对端口扫描和感染扫描的检测。这段代码是函数的一部分,用于处理捕获到的单个原始IP层数据包。代码中的`try`块尝试执行以下操作:1.**检查启发式分析是否启用**:-`ifconfig.USE_HEURISTICS:`:如果启用了启......