JSON в CSV: экспорт файла JSON в файл CSV с помощью Python
Привет, ребята! В этой статье мы сосредоточимся на экспорте файла JSON в файл CSV с помощью Python.
Шаги по экспорту файла JSON в файл CSV
JSON — это аббревиатура от JavaScript Object Notation. Это исполняемый скрипт, который позволяет нам легко хранить и передавать данные с одной платформы на другую. Мы часто сталкиваемся с ситуациями, когда нам нужно удалить данные из определенных источников. Итак, какова форма вывода очищенных данных?
Это JSON!! Этот формат позволяет нам иметь данные в виде пар ключ-значение. Все данные хранятся в виде «строки» в формате значения ключа.
Но что, если я хочу, чтобы эти данные в JSON отправлялись дальше в базу данных для манипуляций? Самое простое решение, которое приходит мне на ум — это экспорт файла JSON в виде файла CSV.
Итак, давайте теперь посмотрим на шаги, которые нам нужно выполнить, чтобы преобразовать / экспортировать файл JSON в формат CSV (значения, разделенные запятыми).
1. Импортируйте необходимые библиотеки.
Чтобы работать с CSV-файлами, нам нужно импортировать встроенный модуль, доступный, как показано:
import csv
2. Сохраните значения заголовков / столбцов данных json в списке.
При работе с экспортом данных JSON в формат CSV для нас очень важно указать значения заголовков или имена столбцов для каждого столбца.
Таким образом, мы создаем отдельный список и передаем ключевые теги в созданный список, как показано ниже —
cols = ['Name', 'Age', 'Gender']
Важно отметить, что если имена столбцов, хранящиеся в созданной выше переменной, не соответствуют одному из ключевых тегов в файле JSON, это обязательно вызовет ошибку.
3. Передайте путь к CSV-файлу.
Теперь пришло время открыть файл CSV и указать на него объект. Далее мы используем функцию csv.DictWriter() для записи / экспорта данных JSON в форму CSV.
Мы создаем экземпляр функции DictWriter() , а затем помещаем значения столбцов в файл CSV. В конце концов, мы экспортируем значения данных, используя функцию writerows() , как показано ниже —
with open(path, 'w') as f: wr = csv.DictWriter(f, fieldnames = cols) wr.writeheader() wr.writerows(data)
Вы можете найти весь код ниже!
import csv cols = ['Name', 'Age', 'Gender'] data = [ , , ] path = "C:/Users/HP/OneDrive/Desktop/DEMO.csv" with open(path, 'w') as f: wr = csv.DictWriter(f, fieldnames = cols) wr.writeheader() wr.writerows(data)

Вывод
На этом мы подошли к концу этой темы. Не стесняйтесь комментировать ниже, если у вас возникнут какие-либо вопросы.
Как конвертировать JSON в CSV
JSON (JavaScript Object Notation) — отличный формат данных, но все его прелести раскрываются, когда работаешь с ним в коде. А вот работать с ним в Экселе совсем неудобно, и тогда нужно конвертировать его в CSV. По запросу «json to csv converter» Гугл выдает кучу различных сервисов, но мне больше всего приглянулся этот.
Добавить JSON в сервис можно одним из трех способов:
- Сохранить JSON как файл и указать путь к файлу
- Ввести URL с запросом и нажать «Load URL»
- Вставить текст JSON
Можно выбрать нужный разделитель для CSV (Output Field Separator).
После того как данные появились в поле для входных данных, нажимаем «Convert JSON to CSV»:
На выходе получаем данные в табличной структуре, разделенные запятой:
Особенность преобразования в том, что сложные объекты JSON’а с многими уровнями вложенности приводятся к простейшему ассоциативному массиву (словарю):
Что потом с этим делать? В первую очередь, открыть CSV в Экселе:
Данные разбиты на 2 строки: в первой строке ключи, во второй — значения. Удобнее будет работать с этими данными если их транспонировать: копируем данные и вставляем на новый лист с транспонированием. Должно получится что-то подобное:
Вот теперь с этим уже можно работать. Например, применить фильтр, который оставит только те пары значение-ключ, у которых ключ содержит «children» и «name»:
Или оставить данные, содержащие «result» и «children», и затем разбить ключи по разделителю «точка» через функцию «Текст по столбцам»:
Естественно, эти методы обработки данных пригодны только для данных из моего примера, но их можно использовать и на других данных, комбинируя формулы и функции Экселя, например, можно искать какой-то маркер в ключе с помощью функции ПОИСК. В принципе, сводится всё к одному: придумать как по ключу получить нужные значения.
JSON из примера можно скачать по ссылке.
Вступайте в группу на Facebook и подписывайтесь на мой канал в Telegram, там публикуются интересные статьи про анализ данных и не только.
Преобразование данных JSON в CSV с помощью Python

JSON — это хорошо известный и широко используемый формат для хранения и обмена структурированными данными. Часто он используется для передачи данных между различными типами приложений. CSV, с другой стороны, также используется для хранения данных в формате, разделенном запятыми. В некоторых случаях может потребоваться импортировать данные из файлов JSON в CSV. Поэтому в этой статье вы узнаете, как программно преобразовать данные JSON в CSV с помощью Python.
- API для преобразования JSON в CSV
- Преобразование данных или файла JSON в CSV
Python API для преобразования JSON в CSV#
Чтобы преобразовать данные JSON в формат CSV, мы будем использовать Aspose.Cells для Python через Java. Это мощный API для создания, изменения и преобразования файлов электронных таблиц с помощью Python. Вы можете либо скачать API, либо установить его с помощью следующей команды pip.
pip install aspose-cells
Преобразование данных или файла JSON в CSV#
Ниже приведены шаги для преобразования данных JSON в формат CSV с помощью Python.
- Создайте новый объект Workbook.
- Получите ссылку на первый рабочий лист, используя метод Workbook.getWorksheets().get(0).
- Создайте объект класса JsonLayoutOptions для установки дополнительных параметров.
- Импортируйте данные из JSON в CSV с помощью метода JsonUtility.importData().
- Сохраните файл CSV, используя метод Workbook.save(string, SaveFormat.CSV).
В следующем примере кода показано, как преобразовать данные JSON в формат CSV.
// загрузить данные JSON jsonInput = '[,,,,,,,]' # create a blank Workbook object workbook = Workbook() # access default empty worksheet worksheet = workbook.getWorksheets().get(0) # set JsonLayoutOptions for formatting layoutOptions = JsonLayoutOptions() layoutOptions.setArrayAsTable(True) # import JSON data to CSV JsonUtility.importData(jsonInput, worksheet.getCells(), 0, 0, layoutOptions) # save CSV file workbook.save("output.csv", SaveFormat.CSV)
JSON-данные#
Ниже приведены данные JSON, которые мы использовали в приведенном выше примере кода.
Преобразованный CSV-файл#
Ниже приведен преобразованный файл CSV.

Получить бесплатную лицензию#
Получите временную лицензию и используйте Aspose.Cells для Python через Java без ограничений на пробную версию.
Вывод#
Файлы JSON и CSV широко используются для хранения и передачи данных. В соответствии с этим в этой статье рассказывается, как преобразовать данные или файлы JSON в CSV с помощью Python. Кроме того, вы также можете изучить Aspose.Cells для Python через Java, используя документацию. Также вы можете задать свои вопросы через наш форум.
Смотрите также#
- Шифровать и расшифровывать файлы Excel в Python
- Создавайте файлы MS Excel с помощью Python — Python Excel API
- Aspose.Cells Product Family
- Convert JSON Data or File to CSV Python
- JSON to CSV Python
- Python JSON to CSV Conversion
Конвертация JSON в CSV

Выше приведен json, как на основе него создать csv
Отслеживать
user300864
задан 5 янв 2022 в 15:44
611 4 4 серебряных знака 23 23 бронзовых знака
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Проще всего воспользоваться модулем Pandas
import json import pandas as pd # pip install pandas # json_str = "" # JSON data = json.loads(json_str) df = pd.DataFrame(data) df.to_csv("result.csv", index=False)
для любителей однострочников:
pd.DataFrame(json.loads(json_str)).to_csv("result.csv", index=False)
Отслеживать
16.4k 2 2 золотых знака 15 15 серебряных знаков 24 24 бронзовых знака
ответ дан 5 янв 2022 в 16:11
MaxU — stand with Ukraine MaxU — stand with Ukraine
149k 12 12 золотых знаков 59 59 серебряных знаков 132 132 бронзовых знака
а как сделать, чтобы его excel понимал?
5 янв 2022 в 16:14
@splash58, можно либо сразу сохранить в Excel файл: df.to_excel(«result.xlsx», index=False) либо использовать разделитель в CSV, который понимает Excel: df.to_csv(«result.csv», sep=»;», index=False)
5 янв 2022 в 16:16
ага. а я подумал, что проблема с кавычками вокруг строк 🙂 конечно, сразу в ексель правильнее — тут и флоаты в даты слетят при открывании. Это я из любопытства