Замислите 20 имена и њихових бројева телефона написаних у једноставном Ворд документу. Тешко је пратити, али ипак, можда ћете успети да прочитате. Сада замислите 200 имена, али овог пута њихове серијске бројеве и адресе, заједно са бројевима телефона у обичном тексту. Неспретно зар не?
Зар не мислите да би било јасније када бисмо ове податке могли да видимо у структурираном формату? Да тачно! Зато научници или аналитичари података користе форматиране податке за своју анализу. Два таква формата за складиштење или рад са подацима су ЈСОН и ЦСВ.
ЈСОН су лагане датотеке познате по размени података између апликација или сервера. Они чувају податке у паровима кључ/вредност.
Док су ЦСВ датотеке вредности раздвојене зарезима за складиштење великих података. Иако су то вредности раздвојене зарезима, често их можете пронаћи у табели док користите Питхон за анализу.
Преглед садржаја
Зашто претворити ЈСОН у ЦСВ у Питхон-у?
Бржа анализа података: Питхон операције над ЦСВ датотекама су брже. Можете брзо да прегледате, сортирате, филтрирате и скратите податке брже када су у ЦСВ формату. Такође, Питхон има библиотеку под називом Пандас за ефикасну анализу података ЦСВ датотека.
Подршка за различите алате за обраду података: Иако су ЈСОН датотеке лагане и једноставне за размену података, ЦСВ датотеке су удобније за визуелизацију и анализу помоћу база података као што су табеле и програмских језика као што је Питхон.
Ефикасан у меморији: ЈСОН формат укључује метаподатке, оптерећујући меморију, док су ЦСВ само вредности раздвојене зарезима без додатних знакова интерпункције или метаподатака. Осим тога, рашчлањивање ЈСОН података захтева више меморије него ЦСВ.
Дакле, у поређењу са ЈСОН, ЦСВ формат је меморијски ефикаснији у складиштењу и обради великих скупова података.
Човјеку читљив: ЦСВ формат је веома погодан за ручну инспекцију. Када се отвори у табелама или табелама, можете лако да прочитате и разумете ЦСВ податке, док је ЈСОН формат донекле сложен за читање, посебно када укључује угнежђене објекте.
Перформансе: Парсирање и обрада ЦСВ датотека је бржа и захтева мање меморије у поређењу са ЈСОН датотекама, што резултира оптималним перформансама.
Како претворити ЈСОН у ЦСВ у Питхон-у?
Ево корака за претварање ЈСОН у ЦСВ у Питхон-у.
Корак 1: Увезите ЈСОН и ЦСВ уграђене модуле.
import json import csv
Корак 2: Претпоставимо да имамо ЈСОН податке у датотеци под називом јсон_дата.јсон. Прочитајте ове податке у променљиву користећи функцију учитавања.
with open('json_data.json') as data: json = json.load(data)
Корак 3: Направите цсв датотеку са ЈСОН заглављима као називима колона и одговарајућим вредностима у ћелијама.
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)
Како претворити ЈСОН у ЦСВ користећи Панде у Питхон-у?
Можете написати сопствени прилагођени код за конверзију користећи ЈСОН и ЦСВ уграђене библиотеке као што је приказано изнад, али Пандас је ваш пријатељ. То чини конверзију још једноставнијом са само две линије кода.
За оне који не познају Панде, то је Питхон библиотека за манипулацију и анализу великих података. Ево како можете лако да конвертујете ЈСОН у ЦСВ користећи Пандас.
Корак 1: Да бисте претворили ЈСОН датотеке у ЦСВ, прво морате да увезете Панде у Питхон.
Import pandas as pd
Корак 2: Учитајте ЈСОН податке у Пандас ДатаФраме.
data = pd.read_csv('json_data.json')
Корак 3: Запишите податке у ЦСВ датотеку.
data.to_csv('csv_data', index=False)
Датотека под називом ‘цсв_дата’ биће креирана у тренутном радном директоријуму за складиштење конвертованих ЦСВ података.
„индекс = Фалсе“ овде искључује колону индекса у ЦСВ датотеци.
То је то, овако је лако претворити ЈСОН у ЦСВ користећи Пандас.
Ствари које треба узети у обзир приликом претварања великих ЈСОН датотека у ЦСВ
- Меморија – Први проблем са којим се обично суочавате са великим скуповима података је меморија. Ако покушате да учитате читаве податке у ЦСВ датотеку одједном, можда ћете наићи на проблеме са меморијом. Дакле, обрадите велике податке у ЦСВ у комадима да бисте избегли проблеме са меморијом.
- Уклоните редундантност – Имати исте редундантне податке више пута у скупу података само повећава величину, али не додаје никакву вредност подацима. Дакле, уклоните сувишне податке из вашег скупа података. На овај начин можете смањити величину датотеке са подацима, што резултира бржом конверзијом.
- Користите библиотеке – Ако су подаци мали, можете написати прилагођени Питхон код да бисте га претворили у ЦСВ, али у случају великих података требало би да користите Питхон библиотеку као што је Пандас да бисте ефикасно претворили ЈСОН у ЦСВ.
- Резервна копија – Направите резервну копију својих података док конвертујете велике ЈСОН датотеке у ЦСВ. Ово вам помаже да се вратите на оригиналне податке ако нешто крене наопако са конверзијом.
Потенцијалне грешке које могу настати током конверзије
#1. Уницоде грешка
Наишли бисте на ову грешку када пишете специјалне знакове или знакове који нису АСЦИИ у ЦСВ датотеку из ЈСОН података.
Да бисте ово поправили, требало би да наведете одговарајуће кодирање у функцији опен која се користи приликом претварања ЈСОН у ЦСВ датотеке.
То можете учинити додавањем параметра који се зове кодирање у опен функцију, као што је приказано у наставку:
with open('data.csv', 'w', newline="", encoding='utf-8') as csv_file
#2. Грешка вредности: Очекивани објекат или вредност
Ова грешка се појављује када постоји проблем са садржајем ЈСОН датотеке, углавном када функција не може да рашчлани ЈСОН објекат или датотеку.
Дакле, уверите се да су ваши ЈСОН подаци добро форматирани и да прате ЈСОН синтаксу.
Штавише, ако ваши ЈСОН подаци садрже угнежђене објекте као што су низови, уверите се да су ЈСОН објекти затворени у [..] а низови су умотани [..]. Такође, уверите се да су подаци изравнани помоћу „ЈСОН.нормализе“ пре него што конвертујете угнежђени ЈСОН у ЦСВ.
Једна од главних разлика између ЈСОН-а и ЦСВ-а је та што ЈСОН подаци немају заглавља попут ЦСВ-а. Дакле, добро рукујте ЦСВ заглављима док конвертујете ЈСОН у ЦСВ. Можете им дати вредности или их оставити празне како желите.
Али ако дајете заглавља ЦСВ датотеци, уверите се да се њихов тип података подудара са стварним подацима у датотеци.
Закључак
Претварање ЈСОН-а у ЦСВ је лако када се ради у Питхон-у. Још једноставније ако користимо Пандас библиотеку.
Дакле, овај чланак вам показује како да конвертујете ЈСОН датотеке у ЦСВ користећи Питхон. Такође, показали смо вам како да користите Панде за ефикасно претварање ЈСОН-а у ЦСВ.
Следе неке важне ствари које треба имати на уму за лакши процес конверзије и уобичајене грешке на које можете наићи током конверзије.
Такође можете да проверите претварање ЈСОН датотека у Екцел.