Convertir CSV en dictionnaire en Python
-
Utilisez le module
csv
pour convertir un fichier CSV en dictionnaire en Python - Utilisation de Pandas pour convertir le fichier CSV en dictionnaire en Python
Ce tutoriel présente la manière de convertir un fichier csv en un dictionnaire en Python dans lequel le fichier csv contient deux colonnes. La première colonne contient les clés, et la seconde les valeurs.
Dans ce tutoriel, le contenu de l’exemple de fichier CSV est présenté ci-dessous.
La première colonne contient les identificateurs qui seront utilisés comme clés et la deuxième colonne les valeurs.
Utilisez le module csv
pour convertir un fichier CSV en dictionnaire en Python
Python a un module csv
qui contient toutes sortes de fonctions utilitaires pour manipuler les fichiers CSV comme la conversion, la lecture, l’écriture et l’insertion. Pour convertir un fichier CSV en dictionnaire, ouvrez le fichier CSV et lisez-le dans une variable en utilisant la fonction csv
reader()
, qui va stocker le fichier dans un objet Python.
Ensuite, utilisez la compréhension du dictionnaire pour convertir l’objet CSV en dictionnaire en itérant l’objet reader
et en accédant à ses deux premières lignes comme la paire clé-valeur du dictionnaire.
import csv
dict_from_csv = {}
with open("csv_file.csv", mode="r") as inp:
reader = csv.reader(inp)
dict_from_csv = {rows[0]: rows[1] for rows in reader}
print(dict_from_csv)
Production :
{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}
Utilisation de Pandas pour convertir le fichier CSV en dictionnaire en Python
Une autre façon de convertir un fichier CSV en dictionnaire Python est d’utiliser le module Pandas, qui contient des outils de manipulation de données pour les fichiers CSV.
Après avoir importé des pandas, utilisez sa fonction intégrée read_csv()
avec quelques paramètres pour spécifier le format du fichier csv. Après avoir appelé la fonction read_csv()
, convertissez le résultat en dictionnaire en utilisant la fonction intégrée de pandas to_dict()
.
import pandas as pd
dict_from_csv = pd.read_csv(
"csv_file.csv", header=None, index_col=0, squeeze=True
).to_dict()
print(dict_from_csv)
Le paramètre header
spécifie que les en-têtes sont explicitement passés ou déclarés par un autre paramètre.
Le paramètre index_col
spécifie quelle colonne est utilisée comme étiquette pour l’objet DataFrame
que la fonction read_csv()
renvoie. Dans ce cas, la première colonne de l’index 0
est les étiquettes.
Enfin, le paramètre squeeze
définit si les données ne contiennent qu’une seule colonne pour les valeurs. Dans ce cas, il n’y a qu’une seule colonne puisque la première colonne est utilisée comme colonne d’index ou les étiquettes.
Production :
{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}
No module named 'pandas'
, alors assurez-vous que pandas
est installé sur votre machine locale en utilisant pip install pandas
ou pip3 install pandas
si vous utilisez Python 3.Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedInArticle connexe - Python CSV
- Convertir XML en CSV à l'aide de Python
- Lire CSV ligne par ligne en Python
- Python écrire au CSV ligne par ligne
- Lire un CSV avec son en-tête en Python
- Fichier texte caché au format CSV en Python
- Fusionner des fichiers CSV en Python
Article connexe - Python Dictionary
- Comment vérifier si une clé existe dans un dictionnaire en Python
- Convertir un dictionnaire en liste en Python
- Comment obtenir tous les fichiers d'un répertoire
- Comment trouver la valeur maximale dans le dictionnaire Python
- Comment trier un dictionnaire Python par valeur
- Comment fusionner deux dictionnaires en Python 2 et 3