3つの列を持つ長いcsvファイルで次のことをしようとしています:
行ごとに、前の 250 行のエントリの最大値と最小値を取得します。データは次のようになります。列 1 はインデックス (1-5300)、列 2 はデータの場所、列 3 は別の列ですが、ここでは使用しません。これは私が今まで持っているコードです。「i」は列 1 を参照する行インデックスであることに注意してください。列 2 はデータが格納される場所です (つまり、最大値と最小値が必要なデータ)。
私が抱えている問題は、 csv.reader が常にファイルの最後から開始され、アルゴリズム全体がウィンドウの外に投げ出されることです。私が間違っていることを知りません。助けてください
max1 = 0
min1 = 1000000
i = 3476
f1= open('PUT/PUT_SELLING.csv')
file_reader = csv.reader(f1)
for col in file_reader:
serial = int(col[0])
if serial <i-250:
spyy = float(col[1])
print spyy
for j in range(0,250):
spyy = float(col[1])
max1 = max(max1,spyy)
min1 = min(min1,spyy)
file_reader.next()
#print spyy
f1.close()
print 'max =' +str(max1) + 'min = ' + str(min1)