HOWTO · Python
Converter arquivo CSV em arquivo JSON em Python
Este tutorial demonstra como converter um arquivo CSV em um arquivo JSON em Python
Este tutorial demonstrará vários métodos para ler dados de um arquivo CSV e salvá-lo como um arquivo JSON em Python. Em aplicativos da web, o formato usado para salvar e transferir dados é o formato JSON. Suponha que temos dados salvos no formato CSV (Comma Separated Values) e precisamos convertê-los para o formato JSON.
Portanto, precisamos de algum método para converter os dados do formato CSV para o formato JSON. Podemos converter o arquivo CSV em um arquivo JSON em Python usando os métodos a seguir.
Converter arquivo CSV em arquivo JSON em Python usando o método json.dump() em Python
O método json.dump(obj, fp, indent=None, Seperator=None) leva os dados obj como entrada e serializa obj como o fluxo formatado em JSON e os grava no objeto semelhante a arquivo fp.
O argumento de palavra-chave indent pode ser usado se quisermos adicionar o recuo aos dados para torná-los mais fáceis de ler. Para o valor do argumento indent igual a 0, o método adiciona uma nova linha após cada valor e adiciona o número de indent de \t no início de cada linha.
O argumento separator é igual a (', ', ': ') se o argumento indent for None; caso contrário, é igual a (', ', ': ').
O código de exemplo a seguir demonstra como usar o método json.dump() para salvar os dados como um arquivo JSON em Python.
with open("file.csv", "r") as file_csv:
fieldnames = ("field1", "field2")
reader = csv.DictReader(file_csv, fieldnames)
with open("myfile.json", "w") as file_json:
for row in reader:
json.dump(row, file_json)
Converter arquivo CSV em arquivo JSON em Python usando o método Dataframe.to_json() em Python
O método Dataframe.to_json(path, orient) do módulo Pandas pega DataFrame e path como entrada e converte-o em uma string JSON, e salva no path fornecido. Se nenhum path for fornecido, o método retornará a string JSON como saída e não retornará nada se o path for fornecido.
O argumento orient é útil para especificar como queremos que nossa string JSON seja formatada, e há várias opções para a entrada Series e DataFrame.
Uma vez que o método Dataframe.to_json() recebe um DataFrame como entrada, usaremos o método pandas.readcsv() para primeiro ler o arquivo CSV como DataFrame. O código de exemplo a seguir demonstra como converter um arquivo CSV em um arquivo JSON em Python usando o método Dataframe.to_json().
import pandas as pd
csv_data = pd.read_csv("test.csv", sep=",")
csv_data.to_json("test.json", orient="records")