Рубрики
Без рубрики

Python CSV к JSON

Автор оригинала: Python Examples.

Python CSV к JSON

Чтобы преобразовать CSV в JSON в Python, выполните следующие действия.

  1. Инициализируйте список Python.
  2. Прочитайте строки файла CSV, используя функцию CSV.DicTereader ().
  3. Преобразуйте каждую строку в словарь. Добавьте словарь в список Python, созданный на шаге 1.
  4. Преобразовать список Python в json String, используя json.dumps ().
  5. Вы можете написать json String в файл json.

Формат ввода CSV и вывода JSON, как показано в следующем.

data.csv.

column_1,column_2,column_3
value_1_1,value_1_2,value_1_3
value_2_1,value_2_2,value_2_3
value_3_1,value_3_2,value_3_3

data.json.

[
    {
        "column_1": "value_1_1",
        "column_2": "value_1_2",
        "column_3": "value_1_3"
    },
    {
        "column_1": "value_2_1",
        "column_2": "value_2_2",
        "column_3": "value_2_3"
    },
    {
        "column_1": "value_3_1",
        "column_2": "value_3_2",
        "column_3": "value_3_3"
    }
]

Пример 1: Преобразовать Python CSV в JSON

В этом примере мы прочитаем следующий файл CSV и преобразуете его в файл JSON.

data.csv – файл CSV

a,b,c
25,84,com
41,52,org
58,79,io
93,21,co

Python Program

import csv 
import json 

def csv_to_json(csvFilePath, jsonFilePath):
    jsonArray = []
      
    #read csv file
    with open(csvFilePath, encoding='utf-8') as csvf: 
        #load csv file data using csv library's dictionary reader
        csvReader = csv.DictReader(csvf) 

        #convert each csv row into python dict
        for row in csvReader: 
            #add this python dict to json array
            jsonArray.append(row)
  
    #convert python jsonArray to JSON String and write to file
    with open(jsonFilePath, 'w', encoding='utf-8') as jsonf: 
        jsonString = json.dumps(jsonArray, indent=4)
        jsonf.write(jsonString)
          
csvFilePath = r'data.csv'
jsonFilePath = r'data.json'
csv_to_json(csvFilePath, jsonFilePath)

Data.json Выходной файл

[
    {
        "a": "25",
        "b": "84",
        "c": "com"
    },
    {
        "a": "41",
        "b": "52",
        "c": "org"
    },
    {
        "a": "58",
        "b": "79",
        "c": "io"
    },
    {
        "a": "93",
        "b": "21",
        "c": "co"
    }
]

Резюме

В этом руководстве примеров Python мы узнали, как преобразовать файл CSV в файл JSON, используя библиотеки CSV и JSON.