2016-12-15 239 views
0

我使用此代码使用read_table读取从.dat文件数据:read_table无法读取从.dat文件的第一行正确

import pandas as pd 
rnames = ['user-id','movie-id','rating','timestamp'] 
ratings = pd.read_table('C:\\Users\\IBM_ADMIN\\Desktop\\ml-1m\\ratings.dat', sep='::', header=None,names=rnames,encoding='utf8',engine='python') 

数据从.dat文件如下:

enter image description here

dat看完后,它显示如下:

enter image description here

不知道为什么第一行将被读为NaN movie-id,ratingtimestamp

回答

0

我试图重现的Linux(Ubuntu的)你的问题,但它工作得很好:

import pandas as pd               

rnames = ['user-id','movie-id','rating','timestamp']       
ratings = pd.read_table('ratings.dat', sep='::',header=None,names=rnames,encoding='utf8',engine='python') 

print ratings 

我ratings.dat

1::1193::5::12345 
1::661::3::123456 
1::662::3::1234567 

输出:

user-id movie-id rating timestamp 
0  1  1193  5  12345 
1  1  661  3  123456 
2  1  662  3 1234567 

所以我猜测它可能是你的Windows环境中的一些问题,而不是你上面显示的代码。

+0

这很奇怪,找不到原因,为什么我得到这样奇怪的结果, – tonyibm

+0

更改一台电脑然后测试,或检查您的数据与前几行可能 – linpingta