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

如何基于指定列(如Col_4)合并表格中的多行?

基于指定列合并多行数据的实现方法

先还原你的原始表格和预期效果:

原始表格

Col_1Col_2Col_3Col_4Col_5
ABCX1
ABCX2
DEFY3
DEFY4
DEFY5

预期效果

Col_1Col_2Col_3Col_4Col_5
ABCX1,2
DEFY3,4,5

下面分三种常用场景给出实现方案:

Excel(Power Query 可视化操作)

适合普通Excel用户,无需写代码:

  1. 选中表格所有数据,点击顶部「数据」选项卡 → 「从表格/区域」,确认数据包含表头后进入Power Query编辑器。
  2. 在编辑器里选中Col_4列,点击「转换」选项卡 → 「分组依据」。
  3. 在弹出的分组设置窗口中:
    • 把Col_1、Col_2、Col_3、Col_4都加入「分组依据」(因为同一Col_4分组下这些列值一致)
    • 新增聚合列:名称填「Col_5」,操作选「合并行」,分隔符选择「逗号」
  4. 点击确定后就能看到合并结果,最后点击「关闭并上载」,把结果导出到Excel表格即可。

Python Pandas 代码实现

适合有编程基础的用户,批量处理数据更高效:

import pandas as pd

# 模拟原始数据(实际可通过pd.read_excel/pd.read_csv读取文件)
df = pd.DataFrame({
    'Col_1': ['A', 'A', 'D', 'D', 'D'],
    'Col_2': ['B', 'B', 'E', 'E', 'E'],
    'Col_3': ['C', 'C', 'F', 'F', 'F'],
    'Col_4': ['X', 'X', 'Y', 'Y', 'Y'],
    'Col_5': ['1', '2', '3', '4', '5']
})

# 按指定列分组,合并Col_5为逗号分隔的字符串
merged_df = df.groupby(['Col_1', 'Col_2', 'Col_3', 'Col_4'])['Col_5'].agg(','.join).reset_index()

# 调整列顺序和原始表格一致(可选)
merged_df = merged_df[['Col_1', 'Col_2', 'Col_3', 'Col_4', 'Col_5']]

# 输出或保存结果
print(merged_df)
# merged_df.to_excel('合并结果.xlsx', index=False)

SQL 数据库实现

如果数据存储在数据库中,用GROUP BY结合聚合函数即可:

MySQL/MariaDB

SELECT 
    Col_1, Col_2, Col_3, Col_4,
    GROUP_CONCAT(Col_5 SEPARATOR ',') AS Col_5
FROM your_table
GROUP BY Col_1, Col_2, Col_3, Col_4;

PostgreSQL/SQL Server

SELECT 
    Col_1, Col_2, Col_3, Col_4,
    STRING_AGG(Col_5, ',') AS Col_5
FROM your_table
GROUP BY Col_1, Col_2, Col_3, Col_4;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 18:05:34