Как конвертировать json в csv python
Перейти к содержимому

Как конвертировать json в csv python

  • автор:

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 в сервис можно одним из трех способов:

  1. Сохранить JSON как файл и указать путь к файлу
  2. Ввести URL с запросом и нажать «Load URL»
  3. Вставить текст JSON

Можно выбрать нужный разделитель для CSV (Output Field Separator).
После того как данные появились в поле для входных данных, нажимаем «Convert JSON to CSV»:

На выходе получаем данные в табличной структуре, разделенные запятой:

Особенность преобразования в том, что сложные объекты JSON’а с многими уровнями вложенности приводятся к простейшему ассоциативному массиву (словарю):

Что потом с этим делать? В первую очередь, открыть CSV в Экселе:

Данные разбиты на 2 строки: в первой строке ключи, во второй — значения. Удобнее будет работать с этими данными если их транспонировать: копируем данные и вставляем на новый лист с транспонированием. Должно получится что-то подобное:

Вот теперь с этим уже можно работать. Например, применить фильтр, который оставит только те пары значение-ключ, у которых ключ содержит «children» и «name»:

Или оставить данные, содержащие «result» и «children», и затем разбить ключи по разделителю «точка» через функцию «Текст по столбцам»:

Естественно, эти методы обработки данных пригодны только для данных из моего примера, но их можно использовать и на других данных, комбинируя формулы и функции Экселя, например, можно искать какой-то маркер в ключе с помощью функции ПОИСК. В принципе, сводится всё к одному: придумать как по ключу получить нужные значения.

JSON из примера можно скачать по ссылке.

Вступайте в группу на Facebook и подписывайтесь на мой канал в Telegram, там публикуются интересные статьи про анализ данных и не только.

Преобразование данных JSON в CSV с помощью Python

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.

JSON в 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

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

ага. а я подумал, что проблема с кавычками вокруг строк 🙂 конечно, сразу в ексель правильнее — тут и флоаты в даты слетят при открывании. Это я из любопытства

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *