#python #json #pandas #dataframe
У меня есть некоторый JSON файл: [{'id': 1, 'info': {'somedata': 'spamegg', 'moredata': 'spameggtoo'}}, {'id': 2, 'info': {'somedata': 'eggspam', 'moredata': 'eggspmtoo'}}] Обычным открытием файла и созданием экземпляра DataFrame из pandas я получаю колонки id и info. Мне нужно спарсить JSON так, чтобы вместо info была колонка со всем что внутри, не пойму как это сделать. Сейчас использую такой код: import json from pandas import DataFrame path = 'somefile.json' with open(path, encoding='utf8') as my_file: info = json.load(my_file) frame = DataFrame(info) Нужного результата я не получаю.
Ответы
Ответ 1
Воспользуйтесь pandas.io.json.json_normalize(): path = 'somefile.json' with open(path, encoding='utf8') as my_file: data = json.load(my_file) Вариант 1: In [131]: pd.io.json.json_normalize(data) Out[131]: id info.moredata info.somedata 0 1 spameggtoo spamegg 1 2 eggspmtoo eggspam Вариант 2: In [135]: pd.io.json.json_normalize(data, 'info', ['id']) Out[135]: 0 id 0 somedata 1 1 moredata 1 2 somedata 2 3 moredata 2
Комментариев нет:
Отправить комментарий