带行延续的Python read_表

带行延续的Python read_表,python,pandas,Python,Pandas,熊猫是否可以读取包含行延续的文本文件 例如,假设我有一个文本文件“read_table.txt”,如下所示: col1, col2 a, a string b, a very long \ string c, another string 如果我对文件调用read\u table,我会得到以下结果: >>> pandas.read_table('read_table.txt', delimiter=',') col1 col2 0

熊猫是否可以读取包含行延续的文本文件

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

col1, col2
a, a string
b, a very long \
   string
c, another string
如果我对文件调用
read\u 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
我想得到这个:

>>> 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

使用escapechar:

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

这将包括DSM指出的换行符,您可以使用
df.col2=df.col2.str.replace(“\n\s*”,”)删除换行符
我无法按照Padraic的建议使用
escapechar
选项,可能是因为我此刻被卡在了一个窗口框上(告密
\r
):

我能正常工作的是regex通行证:

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=',')
这产生了您想要的输出:

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

很酷的问题。谢谢分享

请注意,您必须添加一个清理过程,例如
.str.replace(“\n\s*”,“”)
(未真正测试)来修复事件后的col2值。感谢您的回复。我不知道为什么我以前没看到!