我認爲這是一個相對簡單的問題,但我是一個初學者,遇到了麻煩。我必須從文本文件讀入python中的兩個列表。試圖將文件中的信息讀入Python中的兩個列表中
這是一個文本文件看起來像樣的例子,它被稱爲'ratings.txt',三個colums是movieId | numberofRatings | averageRatings。
1|452|3.9
2|131|3.2
3|90|3
4|209|3.6
...
...
1321|2|2.5
...
...
1685|0|-nan
1686|0|-nan
我需要在第二和第三列的數字讀入兩個單獨的數組。需要將第二列數字讀入列表numRatings中。第三列需要被讀入列表avgRatings。文本文件從電影1變爲1686
所以numRatings
必須[452,131,90,....0,0]
和avgRating
需求是[3.9,3.2,3,....-nan,-nan]
我想我必須創建列表,然後創建循環通過文本文件的讀取和將這些數字存儲在數組中。
這裏是迄今爲止
f = open("ratings.txt") #opens the text file
line = f.readline() #reads in one line of the file
a = line.split("|") #splits the line of the file, for example line 1 looks like [1, 452, 3.9]
在上面的代碼我的代碼,如果我打印a[0]
,a[1]
和a[2]
我分別得到1
,452
和3.9
。
我該如何反覆做這件事,並將我的結果存儲到數組中?
@MarkusMeskanen:見腳註中的6數值類型符合規範( http://docs.python.org/2/library/stdtypes.html#numeric-types-int-float-long-complex):*'float'也接受帶有可選前綴的字符串「nan」和「inf」非數字(NaN)和正或負無窮的「+」或「 - 」。* –
我問他們之前,你回答我的問題。感謝您的信息:) – 2013-04-17 20:52:56
@MarkusMeskanen:代表[Not a Number](http://en.wikipedia.org/wiki/NaN):*表示未定義或不可表示值的數字數據類型值。 –