web-dev-qa-db-fra.com

Python Pandas: Comment ne lire que les n premières rangées de fichiers CSV?

J'ai un ensemble de données très volumineux et je ne peux pas me permettre de lire l'intégralité du jeu de données. Je pense donc n'en lire qu'un bloc à former, mais je ne sais pas comment le faire. Toute pensée sera appréciée.

51
bensw

Si vous souhaitez uniquement lire les 999 999 premières lignes (sans en-tête):

read_csv(..., nrows=999999)

Si vous voulez seulement lire les lignes 1 000 000 ... 1 999 999

read_csv(..., skiprows=1000000, nrows=999999)

nrows: int, valeur par défaut Aucune Nombre de lignes du fichier à lire. Utile pour lire des morceaux de gros fichiers *

skiprows: liste ou entier Nombre de lignes à ignorer (indexé par 0) ou nombre de lignes à ignorer ( int) au début du fichier

et pour les gros fichiers, vous voudrez probablement aussi utiliser chunksize:

chunksize: int, valeur par défaut None Retourne l'objet TextFileReader pour l'itération.

documentation pandas.io.parsers.read_csv

82
smci