Ordonner un très gros fichier .csv par ordre croissant d'une colonne
Résolu
Kikumachi
-
Kikumachi -
Kikumachi -
Bonjour,
J'ai un fichier .csv dont l'une des colonnes stocke des identifiants numériques (du genre '331506924', '442109275', etc.) et, n'étant pas très familier avec les méthodes d'édition de fichiers par algorithme, je voudrais savoir s'il existe une méthode (rapide ?) pour ordonner ce fichier par ordre croissant des identifiants.
Le problème, c'est que ce fichier est absolument énorme (plus de 30 millions de lignes), je ne peux donc pas le traiter dans son entièreté avec un logiciel tableur type Excel ou LibreOffice Calc car leur capacité mémoire sature au bout d'un million de lignes.
Dans l'idéal, existe-t-il un tableur capable de gérer d'énormes quantités de données et qui possède une fonction interne de tri selon une colonne ? Ou bien, existe-t-il un programme Python capable de réaliser cette tâche ?
Merci d'avance pour votre réponse.
Cordialement,
J'ai un fichier .csv dont l'une des colonnes stocke des identifiants numériques (du genre '331506924', '442109275', etc.) et, n'étant pas très familier avec les méthodes d'édition de fichiers par algorithme, je voudrais savoir s'il existe une méthode (rapide ?) pour ordonner ce fichier par ordre croissant des identifiants.
Le problème, c'est que ce fichier est absolument énorme (plus de 30 millions de lignes), je ne peux donc pas le traiter dans son entièreté avec un logiciel tableur type Excel ou LibreOffice Calc car leur capacité mémoire sature au bout d'un million de lignes.
Dans l'idéal, existe-t-il un tableur capable de gérer d'énormes quantités de données et qui possède une fonction interne de tri selon une colonne ? Ou bien, existe-t-il un programme Python capable de réaliser cette tâche ?
Merci d'avance pour votre réponse.
Cordialement,
A voir également:
- Trier un fichier csv python
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Trier un tableau excel - Guide
- Fichier rar - Guide
1 réponse
Salut Kikumachi,
Tu devrais utiliser la bibliothèque
Disons que la colonne que tu veux trier est dénommée "col3", que ton fichier de départ est
Le script Python pour lire le fichier csv, le trier et sauvegarder une version triée serait :
Dal
Tu devrais utiliser la bibliothèque
pandasde Python.
Disons que la colonne que tu veux trier est dénommée "col3", que ton fichier de départ est
fichier.csv, que celui-ci comporte une première colonne dénommée "col1" et que le fichier trié doit être
new.csv.
Le script Python pour lire le fichier csv, le trier et sauvegarder une version triée serait :
import pandas df = pandas.read_csv('fichier.csv', index_col='col1') df = df.sort_values(by=['col3'], ascending=True) df.to_csv('new.csv')
Dal
Donc si par exemple, mon fichier initial s'appelle "FichierATrier.csv" et la colonne que je veux trier est également la première colonne nommée "IDENTIFIANT", je devrais faire un script comme ça ?
Pour vous donner une idée, voilà à quoi ressemble le début de mon fichier .csv :
Je l'ai fait tourner et c'est bon, merci beaucoup pour votre aide !
effectivement, par défaut, pandas utilise le délimiteur virgule pour le format CSV (CSV signifiant d'ailleurs "comma separated values")