Як перетворити JSON в CSV на Python

Жінка руки кодування html і програмування на екрані ноутбука, веб, розробник.

Як перетворити JSON в CSV на Python

Авторство зображення: oatawa/iStock/GettyImages

Ви можете конвертувати JSON у CSV на мові програмування Python використовуючи вбудовані бібліотеки, які постачаються разом із мовою. Ви можете прокрутити об’єкт JSON і вивести його ключі та значення у вигляді рядків у файлі значень, розділених комами. Майте на увазі, що не всі файли JSON можна легко представити у вигляді окремих файлів CSV, тому, залежно від формату, вам може знадобитися використовувати кілька файлів CSV для корисного представлення всіх даних.

Розуміння JSON і CSV

Файли JSON і CSV є двома поширеними способами представлення цифрових даних. JSON означає Нотація об'єктів JavaScript, і це спосіб представлення даних у вигляді вкладених відображень ключів зі значеннями, а також списків даних. Натхненний тому, як дані представлені мовою програмування JavaScript, але багато сучасних мов програмування, включаючи Python, мають інструменти для обробки даних JSON.

Відео дня

А значення, розділене комами

файл є ще одним способом представлення структурованих даних. Ці файли часто використовуються з електронними таблицями та подібними типами програм, тому якщо ви хочете імпортувати JSON в Excel може бути корисно спочатку конвертувати його у файл CSV. Як правило, файли CSV містять заголовки стовпців у верхній частині файлу, які вказують, що зберігається в кожному стовпці. Потім кожен рядок у файлі складається з кількох значень, по одному для кожного стовпця, розділених комами. Існують спеціальні правила обробки даних з комами.

Як і для файлів JSON, існує багато інструментів на багатьох мовах програмування, включаючи Python, для створення та читання файлів CSV.

Конвертуйте JSON у CSV

Ви можете конвертувати JSON у CSV за допомогою вбудованих бібліотек JSON і CSV в Python. Імпортуйте їх у свій код, додавши рядки "import json" та "import csv" у верхній частині коду.

Потім використовуйте бібліотеку JSON "навантаження", щоб імпортувати дані з файлу JSON. Він буде завантажений як словник Python. Користуйтеся словником "ключі", щоб визначити поля даних у файлі JSON, які стануть стовпцями вашого файлу CSV.

Використовуйте бібліотеку CSV "DictWriter" клас, щоб створити файл CSV з цими стовпцями, вказавши їх за допомогою DictWriter "назви полів" аргумент. Використовуйте його "заголовки запису" для виведення назв стовпців у верхній частині CSV.

Потім проведіть цикл по об’єкту JSON за допомогою a цикл for. Телефонуйте метод «writerow» об’єкта CSV для кожного елемента даних у файлі JSON, щоб створити відповідний рядок у файлі CSV.

Складні файли JSON

Деякі складні файли JSON важче представити як CSV. Це може включати файли, які відразу не відповідають стандартній структурі рядків і стовпців. Якщо ви маєте справу з таким файлом і хочете перетворити його на CSV, у вас є кілька варіантів.

По-перше, ви можете знайти загальний набір полів даних, які зустрічаються у файлі JSON, і зробити їх стовпцями вашого CSV. Залиште стовпець порожнім у певному рядку, якщо він там не відображається. Скористайтеся опцією "extrasaction='ігнорувати'" у налаштуваннях Python CSV DictWriter, щоб автоматично робити це для полів, які не зустрічаються в певному фрагменті даних.

Ви також можете розглянути можливість представлення файлу JSON у вигляді кількох файлів CSV, по одному для кожного типу даних, які в ньому представлені. Використовуйте Python якщо оператори, щоб визначити, в який файл CSV слід записати певний фрагмент даних.

Цей прийом також може бути корисним для вкладених файлів JSON, в яких об’єкти JSON містять інші об’єкти. Ці підоб’єкти можна помістити у власний файл CSV із зазначенням того, якому рядку в основному CSV вони відповідають.