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

如何将CSV文件中的指定字符串列拆分为三列

嘿,我懂你这种找不到合适方案的纠结!处理大型CSV里的固定格式列拆分其实没那么复杂,给你两个实用的方案,不管你习惯写代码还是用Excel都能搞定:

方案一:用Python Pandas处理(适合超大型文件)

Pandas对大文件的处理效率很高,还支持分块读取,不会因为文件太大卡壳。步骤如下:

  • 首先安装pandas(如果还没装的话):pip install pandas
  • 然后用下面的代码处理:
import pandas as pd

# 读取原始CSV文件,iloc[:,2]代表第三列(Python索引从0开始)
df = pd.read_csv('你的原始CSV文件名.csv')

# 第一步:按斜杠/拆分第三列,得到两部分
df[['拆分后列1', '临时列']] = df.iloc[:, 2].str.split('/', expand=True)

# 第二步:把临时列拆成数字部分和字母开头的部分,用正则匹配
df[['拆分后列2', '拆分后列3']] = df['临时列'].str.extract(r'(\d+)([A-Za-z].*)', expand=True)

# 按需删除不需要的列(原第三列和临时列)
df = df.drop(columns=[df.columns[2], '临时列'])

# 保存处理后的CSV
df.to_csv('处理完成的文件名.csv', index=False)

如果你的文件大到一次性读进内存里吃不消,可以用分块读取的方式:

import pandas as pd

chunk_size = 10000  # 每次处理1万行,可根据内存调整
output_file = '处理完成的文件名.csv'
first_write = True

# 分块读取并处理
for chunk in pd.read_csv('你的原始CSV文件名.csv', chunksize=chunk_size):
    chunk[['拆分后列1', '临时列']] = chunk.iloc[:, 2].str.split('/', expand=True)
    chunk[['拆分后列2', '拆分后列3']] = chunk['临时列'].str.extract(r'(\d+)([A-Za-z].*)', expand=True)
    chunk = chunk.drop(columns=[chunk.columns[2], '临时列'])
    # 第一块写入时加表头,后续块不加
    chunk.to_csv(output_file, mode='a', header=first_write, index=False)
    first_write = False
方案二:用Excel可视化操作(适合非代码用户)

如果你更习惯用Excel的话,也能快速搞定:

  1. 用Excel打开你的CSV文件,选中第三列
  2. 点击顶部「数据」选项卡 → 「分列」:
    • 第一步选「分隔符号」,点击下一步
    • 第二步勾选「其他」,输入斜杠/,点击完成,这时第三列会被拆成两列
  3. 处理拆分后的第二列(比如原来的D列):
    • 提取数字部分(对应示例里的45):用Excel 365的话直接用=TEXTBEFORE(D1, "[A-Za-z]",,,TRUE);旧版Excel可以用=LEFT(D1,LEN(D1)-LEN(SUBSTITUTE(D1,{"0","1","2","3","4","5","6","7","8","9"},"")))
    • 提取字母开头的部分(对应示例里的K67):Excel 365用=TEXTAFTER(D1, "[A-Za-z]",,,TRUE);旧版用=RIGHT(D1,LEN(D1)-MAX(IFERROR(FIND({"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"},D1),0)))
  4. 把新生成的列整理好,另存为新的CSV文件就行

小提示:如果你的第三列格式有细微变化(比如字母是小写),正则或者Excel公式里的[A-Za-z]已经覆盖了大小写情况,不用额外调整~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:04:18