.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"を呼び出すと次の行に移動します。 readlineを呼び出さずに "yy"の内容を直接処理する必要があります。 – schaazzz