Я пытаюсь получить хороший файл данных PANDAS из файла JSON, который я получил от REST API PandaScore.Я понимаю, что для этого мне нужно сгладить значения, содержащие списки и словари, но я получаю ошибки.
По этой причине я не был уверен, как именно поступить.Что касается кадра данных, который я получаю от непосредственного чтения файла JSON в пандах, я получаю это. Как видно из выходных данных, столбцы содержат списки объектов JSON, и поэтому я хочу сгладить эти списки и объекты, чтобы окончательный кадр данных выглядел гораздо более чистыми интерпретируемый.
Если для этого нужен исходный файл JSON, вы можете получить его здесь. CSGO команды JSON-файла Сначала я использовал curl для вызова API-интерфейса PandaScore, чтобы получить массив объектов JSON для первой страницы команд Counter-Strike Global Offensive.Ответ JSON выглядит следующим образом.
Я все еще плохо знаком с работой с curl, поэтому я не был уверен, как сохранить этот ответ в файлнемедленно, поэтому я просто скопировал ответ и поместил его в файл JSON.После этого;однако формат был не таким, каким я его представлял, поэтому я в итоге отправил содержимое ответа в файле в красиво отформатированный JSON, используя jq в терминале.
После этого я получил файл JSON, который теперь выглядит следующим образом:
Я понимаю, что для сглаживания файла JSON в pandas, вы можете использовать функцию нормализации json из pandas, но я не был уверен, как заставить это работать.Чтобы получить форму словаря, я попытался использовать модуль JSON в Python, чтобы получить словарь, а затем передать этот словарь функции, но он не работал.Я также попытался прочитать исходный кадр данных из панд, используя следующее.
import json
# Experiment 1
data = str(open("data/cs-go-teams.json"))
dataDict = json.loads(data)
import pandas as pd
from pandas.io.json import normalize_json
# Experiment 2
data = pd.read_json("cs-go-teams.json")
dataDict = data.to_dict()
normalizedData = normalize_json(dataDict)
Ошибка 1: Ошибка 2:
Я догадываюсь, что что-то не так в форматировании файла JSON, которое вызывает эту проблему.
Если это что-то еще, я был бы рад узнать из вашего опыта и опыта, как вырасти как разработчик, работающий с данными JSON.
Кроме этих двух экспериментов, я также изучал, как выполнить дальнейшее выравнивание для более сложных структур JSON-объектов.Статья о Medium, написанная Амиром Цзяем, предоставляет пользовательскую функцию, которая рекурсивно выравнивает списки и словари, вложенные в объект.Если это поможет, я предоставлю эту статью в качестве ссылки для вашего удобства.
Средний Артикул
Это все, что я делал до сих пор.Сообщество Stackoverflow, я активно ищу вашу помощь, чтобы выяснить мои недостатки в понимании всего этого процесса от сбора данных до формата JSON и до того, как работает уплощение.