本文目录导读:

- 场景一:使用 Excel / Google Sheets(无代码,最快速)
- 场景二:使用 Python + Pandas(最推荐,自动化脚本)
- 场景三:使用 SQL(适合数据库查询)
- 场景四:使用 Shell 脚本(Linux/Mac 文本处理)
- 如何选择?
对于“多条数据聚合统计”的脚本需求,核心在于分组(Group By)和聚合函数(如 Sum, Count, Avg, Max, Min)。
最常用、最强大的工具有两个:Excel/Google Sheets 公式(适合小量数据)和 Python Pandas(适合大数据量、自动化、复杂逻辑)。
以下提供三种常见场景的脚本解决方案:
使用 Excel / Google Sheets(无代码,最快速)
如果你只是临时处理几万行以内的数据,无需写代码。
假设数据: | 省份 | 销售额 | | :--- | :--- | | 广东 | 100 | | 广东 | 150 | | 江苏 | 200 |
操作步骤:
- 插入数据透视表:选中数据 -> 插入 -> 数据透视表。
- 配置字段:
- 行:省份
- 值:销售额(默认是求和,可改为平均值、计数等)
- 结果:自动输出各省的聚合统计。
公式方法(自动生成):
=UNIQUE(A2:A10) 获取不重复省份。
=SUMIF(A2:A10, E2, B2:B10) 对指定省份求和。
使用 Python + Pandas(最推荐,自动化脚本)
这是处理 CSV、Excel、数据库查询结果的标准方式,适用于日结报表、API数据处理等。
示例数据(sales.csv):
city,amount 北京,100 上海,50 北京,200 深圳,80 上海,30
脚本代码(aggregate.py):
import pandas as pd
# 1. 读取数据(支持 CSV, Excel, 数据库)
df = pd.read_csv('sales.csv')
# 2. 多条数据聚合统计
# 按 'city' 分组,对 'amount' 列进行求和、计数、平均值统计
result = df.groupby('city').agg(
总销售额=('amount', 'sum'),
订单数=('amount', 'count'),
平均单价=('amount', 'mean')
).reset_index()
# 3. 打印结果
print(result)
# 4. 导出结果
result.to_csv('aggregated_result.csv', index=False)
输出结果:
city 总销售额 订单数 平均单价
0 北京 300 2 150.0
1 上海 80 2 40.0
2 深圳 80 1 80.0
进阶用法(多列聚合):
# 按 '省份' 分组,同时统计 '销售额' 和 '数量'
df.groupby('省份').agg({
'销售额': ['sum', 'mean', 'max'],
'数量': ['sum', 'count']
})
使用 SQL(适合数据库查询)
如果你有数据库访问权限,SQL 是最直接的。
-- 统计每个城市的销售额、订单数、最大订单金额
SELECT
city,
SUM(amount) AS total_sales,
COUNT(*) AS order_count,
AVG(amount) AS avg_amount,
MAX(amount) AS max_amount
FROM
sales_table
GROUP BY
city
ORDER BY
total_sales DESC;
使用 Shell 脚本(Linux/Mac 文本处理)
适合超大的日志文件(几GB),无需安装 Python。
准备数据(data.txt):
广东 100
广东 150
江苏 200
一行命令完成求和:
# 按第一列分组,累加第二列
awk '{arr[$1]+=$2} END {for (i in arr) print i, arr[i]}' data.txt
# 输出:广东 250 江苏 200
统计行数:
awk '{arr[$1]++} END {for (i in arr) print i, arr[i]}' data.txt
# 输出:广东 2 江苏 1
如何选择?
| 你的情况 | 推荐工具 | 原因 |
|---|---|---|
| 临时整理表格 | Excel 数据透视表 | 无需学习,点点鼠标就行 |
| 每天拉数据统计 | Python Pandas | 写一次脚本,以后一键运行 |
| 从数据库取数 | SQL | 直接查询,最稳定 |
| 处理超大文本文件 | Shell awk |
占用内存小,速度快 |
| 不想写代码 | Excel / Google Sheets | 最直观 |
需要根据你的具体数据格式(CSV、Excel、JSON?)和统计需求(求和、去重、中位数?),可以进一步调整脚本细节,如果你能提供样本数据的前3行,我可以给出更精确的代码。