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

如何按列A分组自动对CSV文件的C、D列求和并保留列B

自动化生成CSV分组求和公式的方法

原始CSV数据

aaa,10,0,-200
sss,10,440,0
sss,10,880,0
sss,10,440,0
sss,10,440,0
ddd,5,560,0
ddd,5,560,1560
ddd,5,0,780

需求说明

  • 按第一列(列a)分组,确保同组数据连续
  • 每组保留第二列(列b)的固定值
  • 第三列(列c)、第四列(列d)生成对应分组行范围的求和公式,格式为=sum(cX:cY)、=sum(dX:dY)(X为组内起始行号,Y为组内结束行号)

实现方法

方法一:用Excel/Google Sheets操作

  1. 将CSV文件导入表格工具,确保数据从第1行开始,可自行添加表头(A=列a,B=列b,C=列c,D=列d)
  2. 对A列排序,保证同组数据连续排列
  3. 添加辅助列E:E1输入1,E2及以下单元格输入公式=IF(A2<>A1,1,0),用于标记每组的最后一行
  4. 提取唯一分组值到空白列(比如F列):可通过「数据」→「高级筛选」选择不重复记录,或者手动复制唯一值
  5. 生成结果列:
    • G列(对应列b):输入=VLOOKUP(F1,A:B,2,FALSE),下拉填充
    • H列(列c求和公式):输入="=sum(c"&MATCH(F1,A:A,0)&":c"&MATCH(F1,A:A,0)+COUNTIF(A:A,F1)-1&")",下拉填充
    • I列(列d求和公式):输入="=sum(d"&MATCH(F1,A:A,0)&":d"&MATCH(F1,A:A,0)+COUNTIF(A:A,F1)-1&")",下拉填充
  6. 选中H、I列,复制后右键选择「粘贴为值」,再将F、G、H、I列内容复制到文本编辑器,替换制表符为逗号,即可得到目标CSV格式

方法二:用Python脚本批量处理

直接运行以下脚本,可自动读取原始CSV并生成带求和公式的目标文件:

import csv

# 读取原始CSV,跳过空行
with open('input.csv', 'r', newline='', encoding='utf-8') as infile:
    reader = csv.reader(infile)
    rows = [row for row in reader if row]

# 按第一列分组,记录每组的起始行、结束行和列b的值
group_info = {}
for row_num, row in enumerate(rows, start=1):
    group_key = row[0]
    if group_key not in group_info:
        group_info[group_key] = {
            'start_row': row_num,
            'end_row': row_num,
            'b_val': row[1]
        }
    else:
        group_info[group_key]['end_row'] = row_num

# 构造输出行
output_rows = []
for key in group_info:
    info = group_info[key]
    sum_c = f'`=sum(c{info["start_row"]}:c{info["end_row"]})`'
    sum_d = f'`=sum(d{info["start_row"]}:d{info["end_row"]})`'
    output_rows.append([key, info['b_val'], sum_c, sum_d])

# 写入输出文件
with open('output.csv', 'w', newline='', encoding='utf-8') as outfile:
    writer = csv.writer(outfile)
    writer.writerows(output_rows)

操作步骤:

  1. 将原始CSV文件命名为input.csv,放在脚本同一目录
  2. 运行脚本后,会生成output.csv,内容即为所需结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:20:23