使用正则表达式read_csv

时间:2019-08-19 07:13:36

标签: python pandas

csv数据示例:

<pre>2019-08-15 00:00:06,430 0:0 - {"info":{"name":"LTD - PUBLIC"}}</pre>
<pre>pd.read_csv(filepath, sep= ' - ', header=None, engine='python')</pre>

预期:

<pre>
date                           info
2019-08-15 00:00:06,430 0:0    {"info":{"name":"LTD - PUBLIC"}}
</pre>

错误消息:

  

ParserError:第1行中应该有2个字段,看到3。错误可能是由于使用多字符分隔符时引号被忽略了。

1 个答案:

答案 0 :(得分:3)

使用regex 9月

temp = StringIO("""  
2019-08-15 00:00:06,430 0:0 - {"info":{"name":"LTD - PUBLIC"}}
""")


df = pd.read_csv(temp, sep=r' - (?={)', engine='python',header=None)
df.rename({0:'date',1:'info'},axis=1)

输出

                          date                              info
0  2019-08-15 00:00:06,430 0:0  {"info":{"name":"LTD - PUBLIC"}}