Converter arquivo CSV em arquivo JSON em Python

Muhammad Waiz Khan 30 janeiro 2023
  1. Converter arquivo CSV em arquivo JSON em Python usando o método json.dump() em Python
  2. Converter arquivo CSV em arquivo JSON em Python usando o método Dataframe.to_json() em Python
Converter arquivo CSV em 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")

Artigo relacionado - Python CSV

Artigo relacionado - Python JSON