Comment combiner les fichiers CSV dans Python

Comment combiner les fichiers CSV dans Python

Parfois, l'ensemble de données donné n'est pas dans un seul fichier CSV. Ils sont tous sur différentes feuilles d'excel. Vous savez déjà qu'il est préférable d'effectuer toutes les activités de calcul ou de prétraitement sur un seul ensemble de données au lieu de plusieurs ensembles de données. Il réduit ou fait gagner du temps que nous devons consacrer à des tâches de prétraitement. En outre, en tant qu'analyste de données ou scientifique des données, vous pouvez fréquemment vous retrouver surchargé par de nombreux fichiers CSV qui doivent être fusionnés avant même de commencer votre analyse ou l'examen des données disponibles. D'un autre côté, il n'est pas toujours possible que tous les fichiers soient obtenus à partir de la source de données unique ou même et aient les mêmes noms de colonne / variables et structure de données. Ce message vous apprendra à combiner deux fichiers CSV ou plus avec une structure de colonne similaire ou différente.

Pourquoi combiner les fichiers CSV?

Un ensemble de données peut être une collection ou un groupe de valeurs ou de nombres liés à un sujet spécifique. Par exemple, les résultats des tests de chaque élève dans une certaine classe sont un exemple d'ensemble de données. En raison de la taille de grands ensembles de données, ils sont souvent stockés dans des fichiers CSV séparés pour différentes catégories. Par exemple, si nous sommes tenus d'examiner un patient pour une maladie spécifique, nous devons considérer chaque composant, y compris son sexe, le dossier médical, l'âge, la gravité de la maladie, etc. Par conséquent, la combinaison de données CSV est nécessaire pour examiner divers aspects d'influence des prédicteurs. De plus, il est préférable de travailler et de gérer un seul ensemble de données plutôt que plusieurs ensembles de données tout en effectuant les tâches de calcul ou de prétraitement. Il économise de la mémoire et d'autres ressources de calcul

Comment combiner les fichiers CSV dans Python?

Il existe plusieurs façons et méthodes pour combiner deux ou plusieurs fichiers CSV dans Python. Dans la section ci-dessous, nous utiliserons les fonctions A SPED (), concat () et fusion (), etc., Pour combiner les fichiers CSV en Pandas DataFrame, les dataframes seront convertis en un seul fichier CSV. Nous allons apprendre à combiner plusieurs fichiers CSV avec une structure de colonne similaire ou variable.

Méthode n ° 1: combinaison CSV avec des structures ou des colonnes similaires

Notre répertoire de travail actuel a deux fichiers CSV, «test1» et «test2».

Exemple # 1: Utilisation de la fonction A SPEND ()

Les deux fichiers CSV sont de la même structure. La fonction glob () sera utilisée dans cette méthode pour énumérer uniquement les fichiers CSV dans le répertoire de travail. Ensuite, nous utiliserons «Pandas.Trame de données.APPEND () ”pour lire nos fichiers CSV (avec une structure de table commune).

Sortir:

À l'aide de la fonction d'ajout, nous avons annexé ou ajouté chaque ligne de données à partir de test2.CSV sous les lignes de données de Test1.CSV, comme on peut voir que toutes les lignes de données du fichier ont été combinées. Pour convertir ce DataFrame en CSV, nous pouvons utiliser la fonction TO_CSV ().

Cela créera un fichier CSV combiné de fichiers CSV de «test1» et «test2» dans notre répertoire de travail avec le nom spécifié, i.e., fusionné.CSV.

Exemple # 2: Utilisation de la fonction concat ()

Nous importerons d'abord le module Pandas. La méthode MAP lira chaque fichier CSV que nous avons passé en utilisant PD.read_csv (). Ces fichiers mappés (fichiers CSV) seront ensuite combinés le long de l'axe de ligne par défaut en utilisant la fonction PD.concat (). Si nous voulons combiner des fichiers CSV horizontalement, nous pouvons passer axe = 1. Spécifier l'index ignore = true crée également.

Le PD.read_csv () est passé à l'intérieur de la fonction concat () pour lire les fichiers CSV dans le pandas dataframe après la concaténation.

Nous avons obtenu une dataframe avec des données combinées de tous les fichiers CSV dans le répertoire de travail. Maintenant, convertissons-le en fichier CSV.

Notre CSV combiné est créé dans le répertoire actuel.

Méthode n ° 2: combinaison CSV avec différentes structures ou colonnes

Nous avons discuté de la combinaison de fichiers CSV avec les mêmes colonnes et structure dans la première méthode. Dans cette méthode, nous combinerons des fichiers CSV avec différentes colonnes et structures.

Exemple # 1: Utilisation de la fonction Merge ()

Les «pandas.La fonction Merge () ”dans le module Pandas peut combiner deux fichiers CSV. La fusion fait simplement référence à la combinaison de deux ensembles de données dans un seul ensemble de données basé sur des colonnes ou des attributs partagés.

Nous pouvons fusionner les données de données de quatre façons différentes de rejoindre:

  • Intérieur
  • Droite
  • Gauche
  • Extérieur

Pour effectuer ces types de fusions, nous utiliserons deux fichiers CSV.

Notez qu'au moins un attribut ou une colonne doit être partagé par les deux fichiers CSV. Comme observé, le «nom» de la colonne et certains de ses attributs sont partagés par les deux fichiers CSV.

Fusionner en utilisant la jointure intérieure

Spécification du paramètre Comment = "Inner" dans la fonction Merge () combinera les deux dataframes en fonction de la colonne spécifiée, puis fournira un nouveau DataFrame qui ne contient que les lignes avec des valeurs identiques / mêmes dans les deux données de données d'origine.

Comme on peut le voir que la fonction a fusionné les deux fichiers CSV et renvoyé les lignes en fonction des attributs communs du «nom» de la colonne ».

Fusionner en utilisant la bonne jointure extérieure

Lorsque le paramètre comment = "droit" est spécifié, les deux dataframes seront combinés en fonction de la colonne que nous avons spécifiée pour le paramètre "ON". Et un nouveau dataframe contenant toutes les lignes de la dataframe droite, y compris toutes les lignes pour lesquelles le dataframe gauche ne contient aucune valeur, sera renvoyé, la valeur de colonne de la dataframe gauche définie sur NAN.

Fusionner en utilisant la jointure extérieure gauche

Lorsque la façon dont le paramètre est spécifié comme «à gauche», les deux dataframes seront combinés en fonction de la colonne spécifiée à l'aide du paramètre `` ON '', renvoyant un nouveau DataFrame qui a toutes les lignes de la longueur de données gauche ainsi que toutes les lignes qui ont nan nan ou des valeurs nuls dans la bonne dataframe et définit la bonne valeur de colonne DataFrame à nan.

Fusionner en utilisant la jointure extérieure complète

Lorsque comment = "Exter" est spécifié, les deux dataframes seront combinés en fonction de la colonne spécifiée pour le paramètre 'ON', renvoyant un nouveau DataFrame qui contient les lignes de DF1 et DF2 Data pour lesquels les données sont absentes dans l'une des dataframes.

Exemple n ° 2: combinant tous les fichiers CSV dans le répertoire de travail

Dans cette méthode, nous utiliserons le module glob pour combiner .Les fichiers CSV dans un Pandas Dataframe. Toutes les bibliothèques devaient être importées en premier. Ensuite, nous définirons un chemin pour chaque fichier CSV que nous voulons combiner. Le chemin du fichier est le premier argument pour le système d'exploitation.chemin.Fonction join () dans l'exemple ci-dessous, et le deuxième argument est soit les composants de chemin, soit .Fichiers CSV à rejoindre. Ici, l'expression '*.CSV 'trouvera et renverra chaque fichier dans le répertoire de travail qui se termine par le .Extension de fichier CSV. Le monde.La fonction glob (fichiers jointes) accepte une liste des noms des fichiers fusionnés comme entrée et publie une liste de tous les fichiers fusionnés / combinés.

Ce script renverra un dataframe avec des données combinées de tous les fichiers CSV dans notre répertoire de travail.

Ce dataframe sera transformé en fichier CSV, et la fonction to_csv () sera utilisée pour cette conversion. Ce nouveau fichier CSV sera les fichiers CSV combinés créés à partir de tous les fichiers CSV stockés dans le répertoire de travail actuel.

Conclusion

Dans cet article, nous avons expliqué pourquoi nous devons combiner des fichiers CSV. Nous avons discuté de la façon dont deux fichiers CSV ou plus peuvent être combinés dans Python. Nous avons divisé ce tutoriel en deux sections. Dans la première section, nous avons expliqué comment utiliser les fonctions A SPED () et Concat () pour combiner des fichiers CSV des mêmes noms de structure ou de colonne. Dans la deuxième section, nous avons utilisé la méthode Merge (), OS.chemin.join (), et méthode glob pour combiner des fichiers CSV de différentes colonnes et structures.