Как да конвертирате JSON в CSV в Python

click fraud protection
Жена ръце кодира 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 за цикъл. Повикване метода "writerow" на CSV обекта за всеки елемент от данни във файла JSON, за да създаде съответен ред в CSV файла.

Сложни JSON файлове

Някои сложни JSON файлове могат да бъдат по-трудни за представяне като CSV. Това може да включва файлове, които не се подреждат веднага към стандартна структура на редове и колони. Ако имате работа с такъв файл и искате да го конвертирате в CSV, имате няколко опции.

Първо, можете да потърсите общия набор от полета с данни, които се срещат във файла JSON, и да ги направите колоните на вашия CSV. Оставете колона празна в конкретен ред, ако не се показва там. Използвайте опцията "extrasaction='игнориране'" при настройка на Python CSV DictWriter да прави това автоматично за полета, които не се срещат в определена част от данни.

Можете също да помислите за представяне на JSON файла като множество CSV файлове, по един за всеки тип данни, които са представени в него. Използвайте Python ако оператори, за да открият в кой CSV файл трябва да се запишат дадени данни.

Тази техника може да бъде полезна и за вложени JSON файлове, в които JSON обектите съдържат други обекти. Тези подобекти могат да бъдат поставени в собствен CSV файл с указание на кой ред в основния CSV те съответстват.