Автор оригинала: Python Examples.
Python CSV к JSON
Чтобы преобразовать CSV в JSON в Python, выполните следующие действия.
- Инициализируйте список Python.
- Прочитайте строки файла CSV, используя функцию CSV.DicTereader ().
- Преобразуйте каждую строку в словарь. Добавьте словарь в список Python, созданный на шаге 1.
- Преобразовать список Python в json String, используя json.dumps ().
- Вы можете написать 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.