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

如何在pandas中按第一个和最后一个逗号分割CSV数据为三列

实现方法

你可以先将文件按整行读取为单列数据,再通过两次拆分完成列的划分,具体代码如下:

import pandas as pd

# 读取原始文件,设置特殊分隔符保证每行完整读入为单列
df = pd.read_csv("your_file.csv", sep="^", header=None, names=["raw_content"])

# 第一次从左往右拆分,取第一个逗号前的内容为Column1,剩下的内容暂存为临时列
df[["Column1", "temp"]] = df["raw_content"].str.split(",", n=1, expand=True)

# 第二次从右往左拆分,取最后一个逗号后的内容为Column3,中间剩余内容为Column2
df[["Column2", "Column3"]] = df["temp"].str.rsplit(",", n=1, expand=True)

# 去除所有列的前后空白,保留需要的三列
df = df[["Column1", "Column2", "Column3"]].apply(lambda x: x.str.strip())

执行后得到的df就是你需要的结果:

Column1Column2Column3
1Apple1
2Apple, Banana2
3Strawberry3

原理说明

  • str.split(',', n=1) 表示只按从左到右的第一个逗号拆分一次,避免中间的逗号被识别为分隔符
  • str.rsplit(',', n=1) 表示从右到左按最后一个逗号拆分一次,刚好提取出最后一列的内容
  • 该方案兼容中间列包含任意数量逗号的场景,不需要提前知道每行有多少个分隔符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 07:30:03