Python Pandas read_table带有行继续

时间:2015-08-19 18:23:25

标签: python pandas

pandas是否可以读取包含行继续的文本文件?

例如,假设我有一个文本文件' read_table.txt',如下所示:

col1, col2
a, a string
b, a very long \
   string
c, another string

如果我在文件上调用read_table,我会得到这个:

>>> pandas.read_table('read_table.txt', delimiter=',')
        col1             col2
0          a         a string
1          b    a very long \
2     string              NaN
3          c   another string

我想得到这个:

        col1                  col2
0          a              a string
1          b    a very long string
2          c        another string

2 个答案:

答案 0 :(得分:2)

使用escapechar

df = pd.read_table('in.txt', delimiter=',',escapechar="\\")

这将包括DSM指出的换行符,您可以使用df.col2 = df.col2.str.replace("\n\s*","")删除换行符

答案 1 :(得分:1)

我无法让QGraphicsImageItem选项像Padraic建议的那样工作,可能是因为我现在卡在Windows框上(告诉escapechar):

\r

我所做的正确工作是正则表达式传递:

        col1             col2
0          a         a string
1          b   a very long \r
2     string              NaN
3          c   another string

这产生了你想要的输出:

import pandas as pd
import re
import StringIO    # python 2 on this machine, embarrassingly

with open('read_table.txt') as f_in:
    file_string = f_in.read()

subbed_str = re.sub('\\\\\n\s*', '', file_string)

df = pd.read_table(StringIO.StringIO(subbed_str), delimiter=',')

很酷的问题。谢谢分享!