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

使用pd.read_csv读取txt文件设置sep='+++$+++'报nothing to repeat错误

问题解决办法

报错原因

pandas使用engine='python'时,sep参数默认会被当作正则表达式解析。你使用的分隔符+++$+++中包含正则特殊字符:

  • +在正则语法中表示匹配前一个字符1次及以上
  • $在正则语法中表示匹配行尾
    未转义直接传入的话,正则解析逻辑异常,因此抛出nothing to repeat at position 0错误。

可行解决方案

方案1:手动转义特殊字符

给分隔符中的所有正则特殊字符添加转义符\,同时使用原生字符串(前缀加r)避免Python字符串转义冲突:

pd.read_csv("dataset.txt", sep=r'\+\+\+\$\+\+\+', engine='python')

方案2:使用re.escape自动转义(更推荐)

调用re.escape()方法可以自动识别并转义字符串中所有的正则特殊字符,不需要手动逐个添加转义符,出错概率更低:

import re
import pandas as pd

df = pd.read_csv("dataset.txt", sep=re.escape('+++$+++'), engine='python')

读取完成后如果需要自定义列名,可直接给df.columns赋值即可,比如:

df.columns = ['用户id1', '用户id2', '电影id', '对话id列表']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:48:00