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

如何将CSV文件同一列中的两个值拆分为两列?

嘿,这个需求太普遍了!不管你是用办公软件、写代码还是命令行,都有简单的解决方案,我给你列几种最常用的:

方法1:Excel/Google Sheets(适合非编程用户)

如果是新版Excel(2021及以后),直接用TEXTSPLIT函数就能一键拆分:

  • 假设姓名列在A列,第一行是表头,在B2单元格输入:=TEXTSPLIT(A2, " ")(这里的空格是分隔两个姓名的符号,如果是顿号、逗号,直接换成对应符号就行)
  • 按回车后,B2和C2会自动分别显示第一个和第二个姓名,下拉填充整列就搞定。

要是用的旧版Excel没有TEXTSPLIT,就用LEFT+FIND组合:

  • 提取第一个姓名:=LEFT(A2, FIND(" ", A2)-1)
  • 提取第二个姓名:=RIGHT(A2, LEN(A2)-FIND(" ", A2))

Google Sheets更简单,用SPLIT函数就行:

  • 在B2输入:=SPLIT(A2, " "),同样替换分隔符为你实际用的符号。
方法2:Python(适合批量处理/自动化场景)

如果要处理大量CSV文件,或者需要自动化操作,用Python的pandas库最省心:
先确保安装了pandas:pip install pandas
然后写几行代码就行:

import pandas as pd

# 读取你的CSV文件
df = pd.read_csv("你的文件名.csv")

# 拆分姓名列,expand=True会把拆分结果直接变成两列
# 把"原姓名列"换成你实际的列名," "换成你的分隔符
df[["姓名1", "姓名2"]] = df["原姓名列"].str.split(" ", expand=True)

# 保存处理后的CSV,index=False是去掉自动生成的索引列
df.to_csv("拆分后的文件名.csv", index=False)

要是你的姓名分隔符不是空格(比如顿号、),把str.split(" ")改成str.split("、")就好。

方法3:命令行awk(适合Linux/macOS用户)

如果你习惯用命令行快速处理,awk是个好工具:
假设CSV里要拆分的是第3列(从1开始计数),列分隔符是逗号,姓名之间用空格分隔,执行这个命令:

awk -F',' '{split($3, names, " "); print $1","$2","names[1]","names[2]","substr($0, index($0,$4))}' input.csv > output.csv

简单解释下:

  • -F',' 指定CSV的列分隔符是逗号
  • split($3, names, " ") 把第3列按空格拆成数组,names[1]是第一个姓名,names[2]是第二个
  • print 后面的内容是把原列和拆分后的两列重新组合,最后重定向到新文件里。
    需要调整列数或分隔符的话,对应修改参数就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:49:14