よくある質問 (反復する前に CSV リーダーの行数を見つける方法) のオプションを調査しているときに、len(list(myCSVReader))
. はい、私はこれがいかに不格好で潜在的に高価であることを知っています。しかし、それで遊んでいるうちに、私は本当に不可解な矛盾に出くわしました:
#myFile.txt is a 3-line CSV file
myCSV = csv.reader(open('myFile.txt','rb'),dialect='excel')
print(len(list(myCSV)))
print(list(myCSV))
これを実行すると、次のようになります。
> 3
> []
リーダーをリストのリストに変換するために使用できなかった理由は理解できますがlist()
、その場合、これを使用するとどのように/なぜlen()
正しい結果が得られるのでしょうか?
-- JDM