如何使用包含多个字符的分隔符将.txt解析为pandas df?

fox*_*lue 3 python regex separator pandas

我有一个大型数据集,我想在python中使用pandas进行分析.它全部包含在.txt中,但分隔符是+++ $ +++.我怎么解析这个?

import pandas as pd
df = pd.read_csv('filename.txt', sep='+++$+++', header=None)
Run Code Online (Sandbox Code Playgroud)

这两行引出了这个错误:

sre_constants.error: nothing to repeat
Run Code Online (Sandbox Code Playgroud)

odr*_*dek 5

那是因为如果分隔符长于1个字符,则它被解释为正则表达式,如http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html中所述 ; 所以+指示"前任字符的任意数量的匹配",但没有,所以"没有什么可重复的".

我认为逃避符号可能会起作用.

  • 好点子!我还要添加一个例子 - 这可能有助于某人...`import re; df = pd.read_csv(r'/ path/to/file.csv'.sep = re.escape('+++ $ +++')) (4认同)
  • 换句话说,`\ + {3}\$\+ {3}` (2认同)