172 votes

Comment obtenir le nombre total de lignes d'un fichier CSV en Python ?

J'utilise python (Django Framework) pour lire un fichier CSV. Je ne tire que 2 lignes de ce CSV comme vous pouvez le voir. Ce que j'ai essayé de faire est de stocker dans une variable le nombre total de lignes du CSV.

Comment puis-je obtenir le nombre total de lignes ?

file = object.myfilePath
fileObject = csv.reader(file)
for i in range(2):
    data.append(fileObject.next()) 

J'ai essayé :

len(fileObject)
fileObject.length

0voto

user824276 Points 176

Si vous devez analyser le CSV (par exemple, en raison de la présence de sauts de ligne dans les champs ou de lignes commentées) mais que le CSV est trop volumineux pour occuper la mémoire en une seule fois, vous pouvez analyser le CSV morceau par morceau :

import pandas as pd
import os
import sys

csv.field_size_limit(sys.maxsize)  # increase the maximal line length in pd.read_csv()

cnt = 0
for chunk in pd.read_csv(filepath, chunksize=10**6):
    cnt += len(chunk)
print(cnt)

0voto

swayam dash Points 1

Je pense que la mienne sera l'approche la plus simple ici :

import csv
file = open(filename, 'r')
csvfile = csv.reader(file)
file.close
print("row", len(list(csvfile)))

-1voto

Abramodj Points 1771

Si vous travaillez sur un système Unix, la méthode la plus rapide est la commande shell suivante

cat FILE_NAME.CSV | wc -l

Depuis Jupyter Notebook ou iPython, vous pouvez l'utiliser avec une ! :

! cat FILE_NAME.CSV | wc -l

-2voto

Ruben Romo Points 17

Essayez

data = pd.read_csv("data.csv")
data.shape

et dans la sortie vous pouvez voir quelque chose comme (aa,bb) où aa est le nombre de lignes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X