web-dev-qa-db-ja.com

CSVファイルの行数

私はおそらく愚かな間違いを犯していますが、それがどこにあるか見つけることができません。 csvファイルの行数を数えたい。私はこれを書いたが、明らかに機能していない:私はrow_count = 0それは400であるべきです。乾杯。

f = open(adresse,"r")
reader = csv.reader(f,delimiter = ",")
data = [l for l in reader]
row_count = sum(1 for row in reader)

print row_count
18
Dirty_Fox
with open(adresse,"r") as f:
    reader = csv.reader(f,delimiter = ",")
    data = list(reader)
    row_count = len(data)

dataリストを保存した後、ファイルポインターが既にファイルの終わりに達したときに、ファイルを2回読み取ろうとしています。

29
jamylak

まず、openでファイルを開く必要があります

input_file = open("nameOfFile.csv","r+")

次に、csv.readerを使用してcsvを開きます

reader_file = csv.reader(input_file)

最後に、命令「len」で行の数を取得できます

value = len(list(reader_file))

合計コードは次のとおりです。

input_file = open("nameOfFile.csv","r+")
reader_file = csv.reader(input_file)
value = len(list(reader_file))

Csvファイルを再利用する場合は、reader_fileのリストを使用すると、すべてのファイルが読み取られ、ファイル内のポインターの位置が変わるため、input_file.fseek(0)を作成する必要があります。

6
protti