Манипуляции с json данными
Рассмотрим функции для работы с форматом json. Они просты, однако названия могут вызывать путаницу. Для демонстрационных целей создадим словарь:
d = {1:[1,2,3], 'a':{2:'val'}} d
Преобразование словаря в json строку и обратно
Функция dumps преобразует словарь в json строку:
import json json_str = json.dumps(d) json_str
На практике преобразование в строку вряд ли часто пригодится, а вот с json строкой вы будете сталкиваться, так как зачастую в datalake-ах объемная информация хранится в ячейках в виде json строки. Поэтому обратное преобразование вам понадобится. Его можно выполнить функцией loads:
json.loads(json_str)
Обратите внимание, что ключи в json строке могут быть только строковые в отличие от словаря Python. Поэтому, обратное преобразование сказалось на типе первого ключа.
Запись/Чтение
За это отвечают аналогичные Функции без s на конце. Так, для записи словаря в виде json файла воспользуйтесь процедурой dump:
with open('comp.json', 'wt') as f_wr: json.dump(d, f_wr)
Отмечу, что для сохранения структуры объекта в просмотрщике json файлов в Jupyter Lab надо сохранять в файл именно словарь, а не json строку (в этом случае в dump следует передать json.loads(jsn_str)). Для считывания файла предназначена функция load:
with open('comp.json', 'rt') as f_r: d_comp = json.load(f_r) d_comp