Bir csv DictReader nesnesine (Python 3.1 kullanarak) sahibim, ancak okuyucusunda bulunan satır/satır sayısını bilmek istiyorum. aşağıdaki gibi gibi bir şey ...Satır sayısı satır sayısı csv.DictReader
myreader = csv.DictReader(open('myFile.csv', newline=''))
totalrows = ?
rowcount = 0
for row in myreader:
rowcount +=1
print("Row %d/%d" % (rowcount,totalrows))
ben okuyucu ile yineleme tarafından toplam alabilir biliyorum, ama daha sonra 'için' döngü çalıştıramadı. Okuyucunun bir kopyasını oluşturabilirim ancak bir yineleyicinin nasıl kopyalanacağını bulamıyorum.
Ben de
totalrows = len(open('myFile.csv').readlines())
kullanabilirsiniz ama o dosyanın gereksiz bir yeniden açılmasını görünüyor. Mümkünse sayımı DictReader'dan almayı tercih ederim.
Herhangi bir yardım için teşekkür ederiz.
Alan
Güzel çözüm - Yineleyici fikrini oldukça yeniyim, bu yüzden şimdiye kadar enumerate() değerini gerçekten takdir etmemiştim. Saygılarımızla. –
Sadece veri seti boyutunuza dikkat edin. Okuyucunuzu bir listeye dönüştürmek GOBS belleğini alabilir. –
Bu, tüm verileri belleğe yükleyecek, satırları saymayacak -1 çok güzel çözümler –