如何将单列数据扁平化后拆分多行,复制对应行其余单元格内容
常用实现方案
1. Excel/Power Query 操作(无代码基础首选)
- 选中原始数据区域,点击「数据」选项卡 → 选择「从表格/区域」导入Power Query编辑器
- 选中存储多组size的列:如果size是同一个单元格内用分隔符分隔的文本,右键选择「拆分列」→ 按对应分隔符拆分,再选择「拆分到行」;如果是已经嵌套的列表格式,直接选择「扩展到新行」
- 拆分后其余所有列的内容会自动填充到拆分生成的所有新行,无需手动复制
- 处理完成后点击「关闭并上载」即可导出结果到工作表
2. Python Pandas 批量处理(适合大数据场景)
核心调用explode方法即可自动完成列表列展开、其余列自动填充,示例代码:
import pandas as pd # 读取原始数据,支持csv、excel等常见格式 df = pd.read_csv("原始数据路径.csv") # 如果size列是逗号分隔的字符串,先转成列表 # df["size"] = df["size"].str.split(",") # 按行展开size列,其余列自动填充 df = df.explode("size", ignore_index=True) # 导出处理后的结果 df.to_csv("扁平化结果.csv", index=False)
3. Google Sheets 公式实现
假设原始数据存放在A到C列,size列为B列,在空白单元格输入如下公式即可自动生成结果:
=ARRAYFORMULA( QUERY( SPLIT( FLATTEN( FILTER(A:A & "|" & SPLIT(B:B, ",") & "|" & C:C, A:A<>"") ), "|" ), "SELECT * WHERE Col2 IS NOT NULL" ) )
内容的提问来源于stack exchange,提问作者Kamil Ciesielski
相关产品推荐
相关产品推荐

