Converter o CSV em Dicionário em Python
-
Utilize o módulo
csv
para converter o ficheiro CSV em Dicionário em Python - Utilizar Pandas para Converter Ficheiro CSV em Dicionário em Python
Este tutorial irá introduzir como converter um ficheiro csv num dicionário em Python em que o ficheiro csv contém duas colunas. A primeira coluna contém as chaves, e a segunda coluna contém os valores.
Neste tutorial, o conteúdo para a amostra CSV é mostrado abaixo.
A primeira coluna contém identificadores que serão utilizados como chaves e a segunda coluna são os valores.
Utilize o módulo csv
para converter o ficheiro CSV em Dicionário em Python
Python tem um módulo csv
que contém todo o tipo de funções utilitárias para manipular ficheiros CSV como conversão, leitura, escrita, e inserção. Para converter um ficheiro CSV num dicionário, abra o ficheiro CSV e leia-o numa variável utilizando a função csv
reader()
, que irá armazenar o ficheiro num objecto Python.
Depois, utilize a compreensão do dicionário para converter o objecto CSV num dicionário, iterando o objecto reader
e acedendo às suas duas primeiras linhas como o par de valores-chave do dicionário.
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)
Resultado:
{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}
Utilizar Pandas para Converter Ficheiro CSV em Dicionário em Python
Outra forma de converter um ficheiro CSV para um dicionário Python é utilizar o módulo Pandas, que contém ferramentas de manipulação de dados para ficheiros CSV.
Depois de importar pandas, fazer uso da sua função interna read_csv()
com alguns parâmetros para especificar o formato do ficheiro csv. Depois de chamar read_csv()
, converter o resultado para um dicionário utilizando a função integrada 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)
O parâmetro header
especifica que os cabeçalhos são explicitamente passados ou declarados por outro parâmetro.
O parâmetro index_col
especifica que coluna é utilizada como etiquetas para o objecto DataFrame
que a função read_csv()
devolve. Neste caso, a primeira coluna do índice 0
são os rótulos.
Por último, o parâmetro squeeze
define se os dados contêm apenas uma coluna para valores. Neste caso, existe apenas uma coluna, uma vez que a primeira coluna é utilizada como a coluna de índice ou os rótulos.
Resultado:
{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}
No module named 'pandas'
, então certifique-se que pandas
está instalado na sua máquina local utilizando pip install pandas
ou pip3 install pandas
se estiver a executar o 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.
LinkedInArtigo relacionado - Python CSV
- Leia CSV para Array em Python
- Anexar nova linha a um arquivo CSV em Python
- Converter arquivo CSV em arquivo JSON em Python
- JSON para CSV em Python
- Escrever Dicionário no CSV em Python