Преобразование JSON в CSV в Python
Полная форма JSON - это нотация объектов JavaScript . Это означает, что файл сценария (исполняемый), состоящий из текста на языке программирования, используется для хранения и передачи данных. Python поддерживает JSON через встроенный пакет JSON. Чтобы использовать эту функцию, мы импортируем пакет JSON в скрипт Python. Текст в JSON создается с помощью строки в кавычках, которая содержит значение в сопоставлении "ключ-значение" в {}. Он похож на словарь в Python.
CSV (значения, разделенные запятыми) - это простой формат файла, используемый для хранения табличных данных, таких как электронная таблица или база данных. В файле CSV табличные данные (числа и текст) хранятся в виде простого текста. Каждая строка файла представляет собой запись данных. Каждая запись состоит из одного или нескольких полей, разделенных запятыми. Использование запятой в качестве разделителя полей является источником имени для этого формата файла.
Refer to the below articles to understand the basics of JSON and CSV.
- Working With JSON Data in Python
- Working with CSV file in Python.
Конвертация JSON в CSV
Для простых данных JSON, состоящих из пар ключей и значений, ключи будут заголовками для файла CSV, а значения - описательными данными.
Пример: предположим, что файл JSON выглядит так:

Мы хотим преобразовать указанный выше JSON в файл CSV с ключом в качестве заголовков.
Python3
# Python program to convert# JSON file to CSVimport jsonimport csv # Opening JSON file and loading the data# into the variable datawith open ( 'data.json' ) as json_file: data = json.load(json_file)employee_data = data[ 'emp_details' ]# now we will open a file for writingdata_file = open ( 'data_file.csv' , 'w' )# create the csv writer objectcsv_writer = csv.writer(data_file)# Counter variable used for writing# headers to the CSV filecount = 0for emp in employee_data: if count = = 0 : # Writing headers of CSV file header = emp.keys() csv_writer.writerow(header) count + = 1 # Writing data of CSV file csv_writer.writerow(emp.values())data_file.close() |
Выход:

И, если вы работаете с данными JSON следующим образом:
[
{‘Age’: 18.0, ‘Salary’: 20000.0, ‘Gender’: ‘Male’, ‘Country’: ‘Germany’, ‘Purchased’: ‘N’}
{‘Age’: 19.0, ‘Salary’: 22000.0, ‘Gender’: ‘Female’, ‘Country’: ‘France’, ‘Purchased’: ‘N’}
{‘Age’: 20.0, ‘Salary’: 24000.0, ‘Gender’: ‘Female’, ‘Country’: ‘England’, ‘Purchased’: ‘N’}
]
Приведенный ниже код отлично подойдет вам (отформатируйте код перед запуском)
Python3
import jsonimport csvwith open ( 'G:Akhiljsonoutput.json' ) as json_file: jsondata = json.load(json_file)data_file = open ( 'G:Akhiljsonoutput.csv' , 'w' , newline = '')csv_writer = csv.writer(data_file)count = 0for data in jsondata: if count = = 0 : header = data.keys() csv_writer.writerow(header) count + = 1 csv_writer.writerow(data.values())data_file.close() |
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.