2017-02-13 32 views
2

我想加载一个空间分隔数据到熊猫数据框中。如果我使用sep='\s+',然后我得到的错误CParserError: Error tokenizing data. C error: Expected 7 fields in line 5, saw 9如何将空间单独文件加载到熊猫数据框中?

df = pd.read_table("data.rpt",sep='\s+',index_col=False) 

我可以使用空格作为分隔符在Excel中打开该文件。如何解决与熊猫这个问题?文件的

拳行:

Id IdEvent Agent Sist Group Con CInt 
-- ------- ----- ---- ----- --- ---- 
18 2016101 B0C  XCX ROD F DC 0 
19 2016101 A0C  DCX APT  AD 5 
15 2016103 V0C  XCX ROD S DC 0 
16 2016102 N0C  XCX ROD  CD 0 
+0

你可以用正则表达式解析它。如果可以,请包含该文件。 – MYGz

+0

数据的第5行是什么样的?从错误来看,它似乎有比以前的行更多的空间。也许其中一个字段包含一个带有空格的值。 – root

回答

0

使用read_fwf()方法:

In [125]: pd.read_fwf(fn, skiprows=[1]) 
Out[125]: 
    Id IdEvent Agent Sist Group Con CInt 
0 18 2016101 B0C XCX ROD F DC  0 
1 19 2016101 A0C DCX APT AD  5 
2 15 2016103 V0C XCX ROD S DC  0 
3 16 2016102 N0C XCX ROD CD  0 
1

添加delim_whitespace=True作为参数。

+0

我也试过了。仍然收到错误'CParserError:错误标记数据。 C错误:预计在第5行中的7个字段,看到9' – Dinosaurius

+0

您的文件是否有头文件? –

+0

是的,它有一个标题,它看起来像是在标题是'--- -------------- ---'(类似这样)之后的下一个。 – Dinosaurius

相关问题