web-dev-qa-db-fra.com

Ignorer les lignes lors de l'importation csv pandas

J'essaie d'importer un fichier .csv avec pandas.read_csv(), mais je ne souhaite pas importer la deuxième ligne du fichier de données (la ligne avec index = 1 pour l'indexation 0).

Je ne vois pas comment ne pas l'importer car les arguments utilisés avec la commande semblent ambigus:

Du pandas site web:

skiprows: de type liste ou entier

Nombre de lignes à ignorer (index 0) ou nombre de lignes à ignorer (int) au début du fichier. "

Si je mets skiprows=1 dans les arguments, comment savoir s'il faut ignorer la première ligne ou ignorer la ligne d'index 1?

76
thosphor

Vous pouvez essayer vous-même:

>>> import pandas as pd
>>> from StringIO import StringIO
>>> s = """1, 2
... 3, 4
... 5, 6"""
>>> pd.read_csv(StringIO(s), skiprows=[1], header=None)
   0  1
0  1  2
1  5  6
>>> pd.read_csv(StringIO(s), skiprows=1, header=None)
   0  1
0  3  4
1  5  6
120
alko

Je n'ai pas encore de réputation à commenter, mais je souhaite ajouter alko answer pour plus de références.

De la docs :

skiprows: ensemble de nombres à ignorer dans le fichier. Peut aussi être un entier pour ignorer les n premières lignes

26
Hugo

J'ai eu le même problème lorsque je courais les skiprows tout en lisant le fichier csv. Je donnais skip_rows = 1 cela ne fonctionnera pas

Un exemple simple donne une idée de l’utilisation des remontées mécaniques lors de la lecture d’un fichier csv.

import pandas as pd

#skiprows=1 will skip first line and try to read from second line
df = pandas.read_csv('my_csv_file.csv', skiprows=1)

#print the data frame
df
3
Viraj.Hadoop