Рубрики
Без рубрики

Как прочитать файл JSON в Python

В этой статье мы посмотрим, как прочитать файл JSON в Python.

Автор оригинала: Pankaj Kumar.

Как прочитать файл JSON в Python

В этой статье мы посмотрим, как прочитать файл JSON в Python.

Часто вы можете легко читать и анализировать данные JSON из соответствующих файлов JSON. Давайте узнаем некоторые из способов, которыми мы можем легко читать и извлечь эти данные!

Способ 1: Использование json.load () для чтения файла json в python

JSON Module Это встроенный модуль в Python3, который предоставляет нам возможности обработки файлов JSON, используя json.load () Отказ

Мы можем построить объект Python после того, как мы напрямую прочитаем файл JSON в Python, используя этот метод.

Предположить образец .json это файл JSON со следующим содержимым:

{
"name": "AskPython",
"type": "website",
"language": "Python"
}

Мы можем загрузить объекты JSON в объект Python, используя следующую программу. Теперь мы можем легко получить доступ к нему, используя {ключ: значение} Пары сопоставления словаря!

import json
 
with open("sample.json", "r") as rf:
    decoded_data = json.load(rf)
 
print(decoded_data)
# Check is the json object was loaded correctly
try:    
    print(decoded_data["name"])
except KeyError:
    print("Oops! JSON Data not loaded correctly using json.loads()")

Выход

{'name': 'AskPython', 'type': 'website', 'language': 'Python'}
AskPython

Действительно, мы смогли правильно загружать наши объекты JSON из нашего файла!

Способ 2: Используйте IJSON для больших файлов JSON

Если ваш файл JSON достаточно велик, так что он дорого принести весь контент в память, лучший подход будет преобразовать содержимое файла в Потоки Использование IJSON Отказ

Поток представляет собой коллекцию объектов (так же, как объекты JSON), которые будут загружены на память Только по требованию Отказ Это означает, что наш погрузчик данных загружает данные «Lazy», то есть только при необходимости.

Это ослабляет требование памяти при работе с большими файлами. Содержание потока хранится во временном буфере, что позволяет справиться с гигабайтами файлов JSON!

Чтобы установить IJSON Используйте PIP!

pip install ijson

Теперь, чтобы поэкспериментировать, мы будем использовать несколько маленький файл JSON, так как он будет много времени для загрузки гигабайт данных!

Я буду использовать файл covid thumeries json, на это связь. Загрузите файл и переименуйте это как covid_timeseries.json Отказ Размер файла должен составлять около 2 МБ.

import ijson

for prefix, type_of_object, value in ijson.parse(open("covid_timeseries.json")):
    print(prefix, type_of_object, value)

Образец вывода (несколько строк)

Yemen.item.date string 2020-4-13
Yemen.item map_key confirmed
Yemen.item.confirmed number 1
Yemen.item map_key deaths
Yemen.item.deaths number 0
Yemen.item map_key recovered
Yemen.item.recovered number 0
Yemen.item end_map None
Yemen.item start_map None
Yemen.item map_key date
Yemen.item.date string 2020-4-14
Yemen.item map_key confirmed
Yemen.item.confirmed number 1
Yemen.item map_key deaths
Yemen.item.deaths number 0
Yemen.item map_key recovered
Yemen.item.recovered number 0
Yemen.item end_map None
Yemen end_array None

Это будет распечатать содержимое огромного файла JSON, но вы можете сохранить счетчик счетчиков, чтобы избежать печати всего файла.

В то время как IJSON Может быть медленным, кажется, работает в пределах меньшей памяти. Вы можете попробовать этот модуль, если вы работаете с большими файлами.

Заключение

В этой статье мы узнали, как мы могли бы прочитать файл JSON в Python. Мы также кратко посмотрели на обработку большего объема данных, используя IJSON Отказ

использованная литература

    S t a c k o v e r f l o w в о п р о с | | П р и о б р а щ е н и и с б о л ь ш и м и ф а й л а м и J S O N