Pandas read_csv中的复杂分隔列

时间:2018-01-18 19:15:10

标签: python python-3.x pandas

我尝试使用Pandas读取一些日志文件,其中列由空格分隔,而一些列由带有空格的单引号字符串组成(例如UIControlEvent)。我很难用Selector阅读这些文件。例如(使用一些虚拟数据):

'string   '

对于第一行,这会产生列read_csvimport pandas as pd from io import StringIO data = StringIO("""\ 1 2 'asdf ' 3 4 5 'asdfg ' 4 """) columns = ['a','b','c','d'] df = pd.read_csv(data, delim_whitespace=True, names=columns) 12'asdf,我希望将其作为列'312。这种行为完全有道理,但我无法找到一种方法让asdf解析这些文件"正确" (因为我想要它)。

这一切都可能吗?

1 个答案:

答案 0 :(得分:3)

quotechar

解析时,您必须使用read_csv参数
df = pd.read_csv(filename, quotechar = "'", delim_whitespace=True, names=columns)

虽然这会导致列c有额外的空格。你可以摆脱那些使用

df.c = df.c.str.strip()