所以我試圖遍歷一個.csv文件,並根據它做一些計算,我的問題是該文件是10001行長,當我的程序執行它似乎只閱讀這些行的5001條。在閱讀我的數據時我做錯了什麼,或者是有內存限制還是我遇到的某種其他限制?計算結果很好,但在某些情況下它們與預期結果不符,因此我相信缺失的一半數據將解決這個問題。Python for循環只讀取文件的一半
fileName = 'normal.csv' #input("Enter a file name: ").strip()
file = open(fileName, 'r') #open the file for reading
header = file.readline().strip().split(',') #Get the header line
data = [] #Initialise the dataset
for index in range(len(header)):
data.append([])
for yy in file:
ln = file.readline().strip().split(',') #Store the line
for xx in range(len(data)):
data[xx].append(float(ln[xx]))
這裏是一些樣本輸出,還有待completley格式,但它最終會被:
"""The file normal.csv contains 3 columns and 5000 records.
Column Heading | Mean | Std. Dev.
--------------------+--------------------+--------------------
Width [mm]|999.9797|2.5273
Height [mm]|499.9662|1.6889
Thickness [mm]|12.0000|0.1869"""
由於這是功課我會問,你試圖保持反應有幫助,但不是徹底的解決方案,謝謝。
AFAICT,你正在閱讀2線在一個迭代。 「yy」已經包含一行,調用「file.readline」會將您移動到下一行。你應該直接處理「yy」的內容而不用調用readline。 – schaazzz