走ろうとすると
import csv
import sys
import operator
fieldnames = ["A","B","C","D","E"]
surveyfile = open("source.csv", "r")
left_file = open("left.csv",'wb')
right_file = open("right.csv",'wb')
left_reader = csv.DictReader(surveyfile, fieldnames=fieldnames, delimiter=",")
left_writer = csv.DictWriter(left_file, fieldnames, delimiter=",")
sortedlefts = sorted(left_reader,key=lambda x:float(x["B"]))
right_reader = csv.DictReader(surveyfile, fieldnames=fieldnames, delimiter=",")
right_writer = csv.DictWriter(right_file, fieldnames, delimiter=",")
sortedrights = sorted(right_reader,key=lambda x:float(x["B"]), reverse=True)
for row in sortedlefts:
if row["E"] == "l":
left_writer.writerow(row)
for row in sortedrights:
if row["E"] == "r":
right_writer.writerow(row)
「right.csv」ファイルでは何も起こりません。しかし、正しい.csvファイルの作成に関係するすべてのものを取り出して別のプログラムに入れると、問題なく動作します. forループを終了する必要がありますか? 両方に同じリーダーを使用することに問題はありますか?