read_table无法正确读取.dat文件的第一行

时间:2016-12-15 01:43:01

标签: python dataframe

我使用此代码使用.dat

read_table文件中读取数据
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

不知道为什么第一行将被视为movie-idratingtimestamp的NaN。

1 个答案:

答案 0 :(得分: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环境可能存在一些问题,除了上面显示的代码。