熊猫:在CSV文件中使用整个字符串作为分隔符

时间:2017-02-09 15:23:28

标签: python regex pandas

在我的CSV文件中,每行用分隔符"$$$Field$$$"分隔(简单字符串,不是正则表达式)。我正在尝试执行以下操作,但它忽略了分隔符。

df = pd.read_csv('filename.csv', sep='\b$$$Field$$$\b')

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您似乎需要通过$转义\

import pandas as pd
from pandas.compat import StringIO

temp=u"""Food$$$Field$$$Taste
Apple$$$Field$$$a
Banana$$$Field$$$b"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp), sep='\$\$\$Field\$\$\$',engine='python')
print (df)
     Food Taste
0   Apple     a
1  Banana     b

read_csv docs:

  

sep

     

:str,对于read_csv()默认为',',对于read_table()默认为\,

     

要使用的分隔符。如果sep为None,则会尝试自动确定。 长于1个字符且与'\ s +'不同的分隔符将被解释为正则表达式,将强制使用python解析引擎并忽略数据中的引号。正则表达式示例:'\ r \ t'。