Convertir CSV en diccionario en Python
-
Utilice el módulo
csv
para convertir un archivo CSV en un diccionario en Python - Usar Pandas para convertir un archivo CSV en un diccionario en Python
Este tutorial presentará cómo convertir un archivo csv en un diccionario en Python, donde el archivo csv contiene dos columnas. La primera columna contiene las claves y la segunda los valores.
En este tutorial, el contenido del CSV de ejemplo se muestra a continuación.
La primera columna contiene identificadores que serán utilizados como claves y la segunda columna son los valores.
Utilice el módulo csv
para convertir un archivo CSV en un diccionario en Python
Python tiene un módulo csv
que contiene todo tipo de funciones de utilidad para manipular archivos CSV como conversión, lectura, escritura e inserción. Para convertir un archivo CSV en un diccionario, abra el archivo CSV y léalo en una variable utilizando la función csv
reader()
, que almacenará el archivo en un objeto Python.
Después, utilice la comprensión del diccionario para convertir el objeto CSV en un diccionario iterando el objeto reader
y accediendo a sus dos primeras filas como el par clave-valor del diccionario.
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)
Producción :
{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}
Usar Pandas para convertir un archivo CSV en un diccionario en Python
Otra forma de convertir un archivo CSV en un diccionario de Python es utilizar el módulo Pandas, que contiene herramientas de manipulación de datos para archivos CSV.
Después de importar pandas, haga uso de su función incorporada read_csv()
con algunos parámetros para especificar el formato del archivo csv. Después de llamar a read_csv()
, convierta el resultado en un diccionario usando la función incorporada 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)
El parámetro header
especifica que las cabeceras son pasadas explícitamente o declaradas por otro parámetro.
El parámetro index_col
especifica qué columna se utiliza como etiquetas para el objeto DataFrame
que devuelve la función read_csv()
. En este caso, la primera columna de índice 0
es la de las etiquetas.
Por último, el parámetro squeeze
define si los datos contienen sólo una columna de valores. En este caso, sólo hay una columna ya que la primera columna se utiliza como columna índice o las etiquetas.
Producción :
{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}
No module named 'pandas'
, entonces asegúrese de que pandas
está instalado en su máquina local usando pip install pandas
o pip3 install pandas
si está ejecutando 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.
LinkedInArtículo relacionado - Python CSV
- Compare dos archivos CSV e imprima las diferencias usando Python
- Importe múltiples archivos CSV en Pandas y concatene en un marco de datos
- Python divide CSV en varios archivos
- Convertir XML a CSV usando Python
- Leer CSV línea por línea en Python
- Python escribe en CSV línea por línea
Artículo relacionado - Python Dictionary
- Cómo comprobar si existe una clave en un diccionario en Python
- Convertir un diccionario en una lista en Python
- Cómo obtener todos los archivos de un directorio
- Cómo encontrar el valor máximo en el Diccionario Python
- Cómo ordenar un diccionario Python por valor
- Cómo fusionar dos diccionarios en Python 2 y 3