2016-12-15 103 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