2017-05-05 33 views
1

我有,我想在python加载以下文本文件:问题与熊猫解析文本文件

   cabin embarked  boat body 
0     B5  S  2 NaN 
1    C22 C26  S  11 NaN 
2    C22 C26  S  NaN NaN 
3    C22 C26  S  NaN 135.0 
4    C22 C26  S  NaN NaN 
5     E12  S  3 NaN 
6     D7  S  10 NaN 
7     A36  S  NaN NaN 
8    C101  S  D NaN 

基础上回应,我收到了类似的问题,我试过如下:

df = pd.read_fwf("test.csv", header=0, index_col=0) 

它工作得很好。 但下面不工作:

pd.read_csv("test.csv", sep="\s{2,}", header=0, index_col=0, engine="python") 

我收到以下错误:

ValueError: Expected 4 fields in line 2, saw 5 

鉴于九月=“\ S {2}”考虑到2或分离领域的事实更多的空格,

line 2 (0 B5 S 2 NaN),

应该已经解析没有任何问题。此外,我只看到第2行中的4个字段(不包括由index_col = 0处理的行索引);这是错误所指的第五个字段?

回答

0

cabin embarked只有一个空格,并被解析为单个字符串。

pd.read_csv给出一些纬度和数字存在用于索引的空的空间。

   cabin embarked  boat body 
#^   ^    ^ ^
# field 1  field 2   field 3 field 4 
# this row establishes expectations 


0     B5  S  2 NaN 
^    ^  ^ ^^
field 1   field 2 field 3 fd 4 field 5 

而这就是错误。行1建立4个字段的优先级和第2只示出了5.

+1

我明白了。所以,标题决定了字段的数量。此外,索引列也被视为一个字段。大!谢谢。 – RenamedUser7008

+0

@TechFreak不客气。很高兴我能帮上忙。 – piRSquared