Converti CSV in dizionario in Python
-
Usa il modulo
csv
per convertire un file CSV in dizionario in Python - Usa Pandas per convertire file CSV in dizionario in Python
Questo tutorial introdurrà come convertire un file csv in un dizionario in Python in cui il file csv contiene due colonne. La prima colonna contiene le chiavi e la seconda colonna contiene i valori.
In questo tutorial, il contenuto per il CSV di esempio è mostrato di seguito.
La prima colonna contiene gli identificatori che verranno utilizzati come chiavi e la seconda colonna sono i valori.
Usa il modulo csv
per convertire un file CSV in dizionario in Python
Python ha un modulo csv
che contiene tutti i tipi di funzioni di utilità per manipolare file CSV come conversione, lettura, scrittura e inserimento. Per convertire un file CSV in un dizionario, apri il file CSV e leggilo in una variabile utilizzando la funzione csv
reader()
, che memorizzerà il file in un oggetto Python.
Successivamente, usa la comprensione del dizionario per convertire l’oggetto CSV in un dizionario iterando l’oggetto reader
e accedendo alle sue prime due righe come coppia chiave-valore del dizionario.
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)
Produzione:
{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}
Usa Pandas per convertire file CSV in dizionario in Python
Un altro modo per convertire un file CSV in un dizionario Python è utilizzare il modulo Pandas, che contiene strumenti di manipolazione dei dati per i file CSV.
Dopo aver importato i pandas, usa la sua funzione incorporata read_csv()
con alcuni parametri per specificare il formato del file csv. Dopo aver chiamato read_csv()
, converti il risultato in un dizionario usando la funzione pandas incorporata 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)
Il parametro header
specifica che le intestazioni vengono esplicitamente passate o dichiarate da un altro parametro.
index_col
specifica quale colonna è usata come etichetta per l’oggetto DataFrame
restituito dalla funzione read_csv()
. In questo caso, la prima colonna dell’indice 0
sono le etichette.
Infine, il parametro squeeze
definisce se i dati contengono solo una colonna per i valori. In questo caso, è presente una sola colonna poiché la prima colonna viene utilizzata come colonna dell’indice o come etichette.
Produzione:
{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}
No module named 'pandas'
, assicurati che pandas
sia installato nel tuo computer locale utilizzando pip install pandas
o pip3 install pandas
se stai utilizzando 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.
LinkedInArticolo correlato - Python CSV
- Leggi CSV in array in Python
- Aggiungi una nuova riga a un file CSV in Python
- Converti file CSV in file JSON in Python
- Da JSON a CSV in Python
- Leggi CSV in lista in Python