0
votes

lire un CSV à df avec une commande de colonnes différente

J'ai un grand fichier CSV créé via le script de quelqu'un d'autre avec des colonnes de sortie nommées «D», 'B', 'A', 'C'. de
Existe-t-il un moyen de le lire de CSV directement sous le nom de 'A', 'B', 'C', "D".


6 Réponses :



1
votes

Je suppose que vous ne demandez pas comment modifier l'ordre de colonne en pandas, mais je voudrais le changer avant de lire, éventuellement de réduire l'utilisation de la mémoire. (Sinon, la réponse de Jezrael.)

Le mieux est de le faire avec CSV avant de lire dans des pandas. Exemple: xxx

pris de ici

in Les termes de temps, le plus rapide le font comme CSV (j'ai testé avec un très petit fichier CSV): xxx


1 commentaires

Je ne me soucie pas de ce fichier lui-même, il sera supprimé bientôt. Je veux juste le lire dans l'ordre dont j'ai besoin.



0
votes

Essayez Pandas:

import pandas as pd
df=pd.read_csv(filename)
df=df[df.columns[::-1]]


0 commentaires

1
votes

Une méthode serait de lire une seule colonne à la fois et de stocker dans une liste de compréhension et concat code> le résultat: xxx pré>

Cependant, je pense que c'est plus facile de le trier simplement en sous-sélectionnant les colonnes dans l'ordre souhaitée après la lecture normalement: P>

df = df[['A','B','C','D']]


0 commentaires

2
votes

J'ai trouvé cette solution qui fonctionne avec des pandas 0.25.1

fichier csv avec des colonnes de sortie nommées 'D', 'B', 'A', 'C' Lisez-le à partir de CSV directement sous 'A', 'B', 'C', 'D', 'D', 'D' P>

import pandas as pd
csv = pd.read_csv(data, index_col=['A', 'B', 'C', 'D'], usecols=['A', 'B', 'C', 'D'])


0 commentaires

1
votes

Ajouter .reset_index () Pour réinitialiser l'index Index_Col Set.

import pandas as pd
csv = pd.read_csv(data, index_col=['A', 'B', 'C', 'D'], usecols=['A', 'B', 'C', 'D']).reset_index() 


0 commentaires