在Python Pandas read_csv中使用多个字符分隔符

sla*_*law 12 python csv python-2.7 pandas

看来pandas read_csv函数只允许使用单字符分隔符/分隔符.有没有办法允许使用一串字符,比如"*|*"或"%%"?

jva*_*ans 7

熊猫现在支持多字符分隔符

import panda as pd
pd.read_csv(csv_file, sep="\*\|\*")
Run Code Online (Sandbox Code Playgroud)

  • 请注意,虽然 **read_csv()** 支持多字符分隔符 [to_csv 不支持多字符分隔符](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv。 html) 从 Pandas 0.23.4 开始。原来的帖子实际上询问了 to_csv()。(旁注:显然 Markdown 不支持在链接中包含“()”) (3认同)

sla*_*law 5

解决方案是使用read_table而不是 read_csv:

1*|*2*|*3*|*4*|*5
12*|*12*|*13*|*14*|*15
21*|*22*|*23*|*24*|*25
Run Code Online (Sandbox Code Playgroud)

所以,我们可以这样阅读:

pd.read_table('file.csv', header=None, sep='\*\|\*')
Run Code Online (Sandbox Code Playgroud)