You need to enable JavaScript to run this app. 相同ID对应多行单词数据合并为单行的实现方法咨询
优惠活动
大模型
产品
解决方案
定价
更多

相同ID对应多行单词数据合并为单行的实现方法咨询

需求实现说明

这个需求完全可以实现,属于典型的分组后字符串聚合拼接场景,所有主流数据处理工具都支持该操作,下面是不同使用场景下的具体实现方案:

1. 关系型数据库场景

假设你的数据存储在数据库表word_records中,不同数据库的实现SQL如下:

  • MySQL 写法:
SELECT 
  id, 
  GROUP_CONCAT(word SEPARATOR ' ') AS word 
FROM word_records 
GROUP BY id;

如果需要对拼接的单词按指定顺序排序,可以调整为GROUP_CONCAT(word ORDER BY word SEPARATOR ' ')。

  • PostgreSQL 写法:
SELECT 
  id, 
  STRING_AGG(word, ' ' ORDER BY word) AS word 
FROM word_records 
GROUP BY id;
  • Oracle 写法:
SELECT 
  id, 
  LISTAGG(word, ' ') WITHIN GROUP (ORDER BY word) AS word 
FROM word_records 
GROUP BY id;

2. Python Pandas 场景

如果是用Pandas处理结构化数据,实现代码如下:

import pandas as pd

# 原始数据存为DataFrame对象df
result = df.groupby('id', as_index=False)['word'].agg(' '.join)

如果需要自定义拼接顺序,先对数据集排序再分组即可:

result = df.sort_values('word').groupby('id', as_index=False)['word'].agg(' '.join)

3. Excel 场景

如果数据存储在Excel表格中,A列为id、B列为word,首行为表头:

  1. 先在空白列(比如D列)填写所有唯一的id值:1、2、3
  2. E2单元格输入公式,按回车即可(旧版Excel需要按Ctrl+Shift+Enter触发数组公式):
=TEXTJOIN(" ",TRUE,IF($A$2:$A$16=D2,$B$2:$B$16,""))
  1. 将E2公式下拉填充到所有id行即可完成拼接。

注:你给出的示例结果中id=2的拼接结果包含原始数据不存在的begin单词,常规拼接操作不会生成原始数据外的内容,如果需要插入自定义内容,可以在对应实现逻辑中额外添加插入规则即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 01:15:02