You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从数据表提取特定ID最新条目 按部门汇总价格的脚本实现方法

问题场景

现有业务表共4个字段:

  • Report Number:报告编号
  • Department:所属部门
  • Date:报告生成时间
  • Price:价格条目
    表内同一报告编号会关联多条价格记录,不同报告生成时间存在差异,需要实现逻辑:按部门筛选出生成时间最新的报告,对该报告下所有价格条目求和,最终输出结构与原表字段保持一致,预期结果为Dep. 01对应汇总价529.58、Dep. 02对应汇总价599.48。
实现方案

使用Python Pandas编写可自动执行的处理脚本,兼容后续数据增量更新场景,代码如下:

import pandas as pd

# 读取原始数据,此处替换为实际数据读取逻辑(如read_excel、read_csv、read_sql等)
raw_data = [
    {"Report Number": "77e1117e-a248-4781-866f-704bea114d11", "Department": "Dep. 01", "Date": "2022-06-13 10:12:42.000", "Price": 685.10},
    {"Report Number": "77e1117e-a248-4781-866f-704bea114d11", "Department": "Dep. 01", "Date": "2022-06-13 10:12:42.000", "Price": 0.19},
    {"Report Number": "a34f8425-c64f-47a9-b947-49e7d2fd5bba", "Department": "Dep. 01", "Date": "2022-06-13 13:16:45.000", "Price": 102.45},
    {"Report Number": "a34f8425-c64f-47a9-b947-49e7d2fd5bba", "Department": "Dep. 01", "Date": "2022-06-13 13:16:45.000", "Price": 427.13},
    {"Report Number": "h94e8421-h79j-25q9-n478-58w7f2af6ffe", "Department": "Dep. 02", "Date": "2022-06-13 13:16:45.000", "Price": 98.98},
    {"Report Number": "h94e8421-h79j-25q9-n478-58w7f2af6ffe", "Department": "Dep. 02", "Date": "2022-06-13 13:16:45.000", "Price": 500.50},
]
df = pd.DataFrame(raw_data)
# 将日期字段转为标准时间格式,避免字符串比较时间的逻辑错误
df["Date"] = pd.to_datetime(df["Date"])

# 提取单报告唯一元信息(同一报告的部门、生成时间固定,去重减少计算量)
report_unique_info = df[["Report Number", "Department", "Date"]].drop_duplicates()
# 按部门分组,取每个部门下生成时间最新的报告
latest_report_per_dept = report_unique_info.sort_values("Date", ascending=False).groupby("Department", as_index=False).first()

# 关联原始价格数据,对最新报告的所有价格条目求和
final_result = df[df["Report Number"].isin(latest_report_per_dept["Report Number"])]\
    .groupby(["Report Number", "Department", "Date"], as_index=False)["Price"].sum()
# 调整字段顺序与原表保持一致
final_result = final_result[["Report Number", "Department", "Date", "Price"]]

# 输出结果,可替换为实际写入逻辑(如to_excel、to_sql等)
print(final_result)
运行结果

脚本执行后输出如下,完全符合预期:

Report Number Department                Date   Price
0  a34f8425-c64f-47a9-b947-49e7d2fd5bba    Dep. 01 2022-06-13 13:16:45  529.58
1  h94e8421-h79j-25q9-n478-58w7f2af6ffe    Dep. 02 2022-06-13 13:16:45  599.48
注意事项
  • 实际使用时将样例数据构造部分替换为真实业务数据的读取逻辑即可,支持Excel、CSV、数据库等多种数据源
  • 日期字段必须转为时间类型再做大小比较,避免字符串格式下时间排序出错
  • 脚本逻辑支持任意数量的部门、任意条数的报告记录自动计算,不需要手动调整规则

内容的提问来源于stack exchange,提问作者ouboma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 23:39:35