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 p> Comment peut-on itre et extraire chaque 2e rangée pour obtenir quelque chose comme ça et ajouter dans un nouveau Dataframe? P> merci! P> p> p>
3 Réponses :
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: é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 p> p>
Vous pouvez les lire tous en mémoire avec le dernier bit, numpy code> et stocker toutes les autres lignes:
[:: 2] code>, signifie "Prendre chaque deuxième élément". P> P>
Utilisez le paramètre code> SkipRows code> de read_csv code>
:
Pour garder les lignes même: p> 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