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

如何基于DataFrame列中存储的列表值生成多行数据?

拆分CSV中一行多值为多行的解决方案

问题场景

原始输入数据:

ID,dep_id
EMP1,1,2,3
EMP2,4,5,6

期望输出:

ID,dep_id
EMP1,1
EMP1,2
EMP1,3
EMP2,4
EMP2,5
EMP2,6

方法1:awk命令(Linux/Unix环境快速处理)

执行以下命令即可完成转换:

BEGIN{FS=OFS=","} NR==1{print;next} {for(i=2;i<=NF;i++) print $1,$i}

说明:

  • 先设置输入输出的分隔符为逗号
  • 表头行直接打印,不做处理
  • 遍历每行从第二列开始的所有值,每行输出一次ID加对应部门ID

方法2:Python脚本(跨平台通用)

将原始数据保存为input.csv,运行以下脚本生成output.csv:

with open("input.csv", "r") as infile, open("output.csv", "w") as outfile:
    # 写入表头
    outfile.write(infile.readline())
    for line in infile:
        items = line.strip().split(",")
        if len(items) < 2:
            continue
        emp_id = items[0]
        # 遍历每个部门ID,写入新行
        for dep in items[1:]:
            outfile.write(f"{emp_id},{dep}\n")

方法3:Excel/Numbers可视化操作(适合非技术用户)

  1. 打开数据文件,将每行的多部门ID通过「分列」功能拆分为单独列
  2. 选中所有部门ID列,复制后右键选择「转置」粘贴到空白区域
  3. 在转置后的部门ID列左侧,拖拽填充对应的员工ID
  4. 将整理好的两列数据加上表头,即为目标格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 22:55:48