0
votes

Comment lire un fichier CSV toutes les autres rangées

Comment puis-je prendre à partir d'une donnée de fichier CSV toutes les 2 lignes?

Par exemple si j'ai un fichier qui regarde ce xxx

Comment peut-on itre et extraire chaque 2e rangée pour obtenir quelque chose comme ça et ajouter dans un nouveau Dataframe? xxx

merci!


0 commentaires

3 Réponses :


0
votes

Personnellement, je pense que la réponse la plus facile (si vous ne voulez que des lignes même numérotées), c'est faire: xxx

énumérer () est une fonction puissante en python et "sinon i% 2 "n'est que vrai lorsque le numéro de la ligne (i) est même. Vous pouvez supprimer le «non» si vous souhaitez plutôt les lignes impaires numérotées. Je pense que cette approche est plus facile que de lire dans le fichier ligne-ligne, bien qu'il puisse y avoir des problèmes d'évolutivité si votre dossier est extrêmement grand. J'espère que cela aide


0 commentaires

1
votes

Vous pouvez les lire tous en mémoire avec numpy et stocker toutes les autres lignes: xxx

le dernier bit, [:: 2] , signifie "Prendre chaque deuxième élément".


0 commentaires

4
votes

Utilisez le paramètre code> SkipRows code> de read_csv code> :

Pour garder les lignes même: p> xxx pré>

pour garder les lignes impaires: p>

In [1]: import pandas as pd
   ...: from io import StringIO
   ...:
   ...: data = """A,B
   ...: a,1
   ...: b,2
   ...: c,3
   ...: d,4
   ...: e,5
   ...: """

In [2]: pd.read_csv(StringIO(data))
Out[2]:
   A  B
0  a  1
1  b  2
2  c  3
3  d  4
4  e  5

In [3]: pd.read_csv(StringIO(data), skiprows=lambda x: (x != 0) and not x % 2)
Out[3]:
   A  B
0  a  1
1  c  3
2  e  5

In [4]: pd.read_csv(StringIO(data), skiprows=lambda x: x % 2)
Out[4]:
   A  B
0  b  2
1  d  4


0 commentaires