Покроковий посібник від експертів

Уявіть собі 20 імен і їхні номери телефонів, написані в простому документі Word. Важко стежити, але все ж ви можете прочитати. А тепер уявіть 200 імен, але цього разу їхні серійні номери та адреси разом із номерами телефонів у вигляді звичайного тексту. Незграбно правда?

Вам не здається, що було б зрозуміліше, якби ми могли бачити ці дані в структурованому форматі? Так правильно! Ось чому дослідники даних або аналітики використовують форматовані дані для свого аналізу. Двома такими форматами для зберігання або роботи з даними є JSON і CSV.

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

Тоді як файли CSV є значеннями, розділеними комами, для зберігання великих даних. Хоча це значення, розділені комами, ви часто знаходите їх у табличній структурі, використовуючи для аналізу Python.

Навіщо конвертувати JSON у CSV у Python?

Швидший аналіз даних: операції Python над файлами CSV виконуються швидше. Ви можете швидше переглядати, сортувати, фільтрувати та обрізати дані у форматі CSV. Крім того, у Python є бібліотека Pandas для ефективного аналізу даних файлів CSV.

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

  Як записати дзвінок FaceTime

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

Таким чином, порівняно з JSON, формат CSV є більш ефективним для зберігання та обробки великих наборів даних.

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

Продуктивність. Розбір і обробка файлів CSV відбувається швидше та потребує менше пам’яті порівняно з файлами JSON, що забезпечує оптимальну продуктивність.

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

Ось кроки для перетворення JSON на CSV у Python.

Крок 1. Імпортуйте вбудовані модулі JSON і CSV.

import json
import csv

Крок 2. Припустімо, що у нас є дані JSON у файлі з назвою json_data.json. Зчитайте ці дані в змінну за допомогою функції завантаження.

with open('json_data.json') as data:
    json = json.load(data)

Крок 3. Створіть файл csv із заголовками JSON як іменами стовпців і відповідними значеннями в клітинках.

headers = json[0].keys()
with open('data.csv', 'w', newline="") as csv_file:
    csv_writer = csv.DictWriter(csv_file, fieldnames=headers)
    csv_writer.writeheader()
    for row in json:
        csv_writer.writerow(row)

Як конвертувати JSON у CSV за допомогою Pandas у Python?

Ви можете написати власний код для перетворення за допомогою вбудованих бібліотек JSON і CSV, як показано вище, але Pandas — ваш друг. Це робить перетворення ще простішим за допомогою лише двох рядків коду.

Для тих, хто не знає Pandas, це бібліотека Python для обробки та аналізу великих даних. Ось як ви можете легко конвертувати JSON у CSV за допомогою Pandas.

  Як уповільнити роботу комп’ютера через трешинг

Крок 1. Щоб конвертувати файли JSON у CSV, вам спочатку потрібно імпортувати Pandas у Python.

Import pandas as pd

Крок 2: Завантажте дані JSON у Pandas DataFrame.

data = pd.read_csv('json_data.json')

Крок 3. Запишіть дані у файл CSV.

data.to_csv('csv_data', index=False)

Файл під назвою «csv_data» буде створено в поточному робочому каталозі для зберігання перетворених даних CSV.

«index = False» тут виключає стовпець індексу у файлі CSV.

Ось і все, так легко конвертувати JSON у CSV за допомогою Pandas.

Що слід враховувати під час конвертації великих файлів JSON у CSV

  • Пам’ять. Найперша проблема, з якою ви зазвичай стикаєтесь із великими наборами даних, це пам’ять. Якщо ви спробуєте завантажити цілі дані у файл CSV за один раз, у вас можуть виникнути проблеми з пам’яттю. Тому обробляйте великі дані у форматі CSV частинами, щоб уникнути проблем із пам’яттю.
  • Видалити надлишковість – наявність одних і тих самих надлишкових даних кілька разів у наборі даних лише збільшує розмір, але не додає жодної цінності даним. Отже, видаліть зайві дані зі свого набору даних. Таким чином ви можете зменшити розмір файлу даних, що призведе до швидшого перетворення.
  • Використовуйте бібліотеки. Якщо дані невеликі, ви можете написати спеціальний код Python, щоб конвертувати їх у CSV, але у випадку великих даних вам слід використовувати бібліотеку Python, як-от Pandas, для ефективного перетворення JSON у CSV.
  • Резервне копіювання – зробіть резервну копію своїх даних під час конвертації великих файлів JSON у CSV. Це допоможе вам повернутися до вихідних даних, якщо під час перетворення щось піде не так.
  13 професійних шаблонів профілю компанії для вражаючих вражень

Потенційні помилки, які можуть виникнути під час перетворення

#1. Помилка Unicode

Ви можете зіткнутися з цією помилкою, коли записуєте спеціальні символи або символи, відмінні від ASCII, у файл CSV із даних JSON.

Щоб виправити це, вам слід указати відповідне кодування у функції відкриття, яка використовується під час перетворення JSON у файли CSV.

Ви можете зробити це, додавши параметр під назвою encoding до функції open, як показано нижче:

with open('data.csv', 'w', newline="", encoding='utf-8') as csv_file

#2. Помилка значення: очікуваний об’єкт або значення

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

Тому переконайтеся, що ваші дані JSON правильно відформатовані та відповідають синтаксису JSON.

Крім того, якщо ваші дані JSON містять вкладені об’єкти, такі як масиви, переконайтеся, що об’єкти JSON укладено в [..] і масиви загорнуті в [..]. Також переконайтеся, що дані зведені за допомогою «JSON.normalize», перш ніж конвертувати вкладений JSON у CSV.

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

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

Висновок

Перетворити JSON у CSV легко, якщо це зробити в Python. Ще простіше, якщо ми використовуємо бібліотеку Pandas.

Отже, у цій статті показано, як конвертувати файли JSON у CSV за допомогою Python. Крім того, ми показали вам, як за допомогою Pandas ефективно конвертувати JSON у CSV.

Далі наведено кілька важливих речей, про які слід пам’ятати, щоб процес перетворення був плавнішим, і типові помилки, з якими ви можете зіткнутися під час перетворення.

Ви також можете перевірити конвертацію файлів JSON у Excel.