У меня проблемы с преобразованием моего вложенного JSON в информационный кадр.Я получаю JSON из API и хочу его в датафрейме - PullRequest
0 голосов
/ 26 сентября 2019

Этот код взят из Sportradar API.API выводит данные в формате JSON или XML;ниже приведена моя попытка взять JSON и превратить его в массив данных.

import numpy as np
import pandas as pd
import http.client
import json
from pandas.io.json import json_normalize

#API Call including my key
conn = http.client.HTTPSConnection("api.sportradar.us")

conn.request("GET", "/nfl/official/trial/v5/en/players/0acdcd3b-5442-4311-a139-ae7c506faf88/profile.json?api_key=99s3ewmn5rrdrd9r3v5wrfgd")
#conn.request("GET", "/nfl/official/trial/v5/en/games/b7aeb58f-7987-4202-bc41-3ad9a5b83fa4/pbp.json?api_key=99s3ewmn5rrdrd9r3v5wrfgd")
#conn.request("GET", "/nfl/official/trial/v5/en/teams/0d855753-ea21-4953-89f9-0e20aff9eb73/full_roster.json?api_key=99s3ewmn5rrdrd9r3v5wrfgd")
#conn.request("GET", "/nfl/official/trial/v5/en/games/030d37cf-b896-4f10-b16e-2a5120fef6cf/pbp.json?api_key=99s3ewmn5rrdrd9r3v5wrfgd")
res = conn.getresponse()
data = res.read()
data_dec = data.decode("utf-8")

json_data = json.loads(data_dec)
flat_data = json_normalize(json_data)

print(json_data)
df = pd.DataFrame.from_records(flat_data)
df2 = pd.DataFrame.from_dict(json_data, orient='index')
df2.reset_index(level=0, inplace=True)

#The closest thing to a dataframe I can get
df.head()

1 Ответ

0 голосов
/ 26 сентября 2019

Почему бы не использовать Python Wrapper, который общедоступен и поддерживается.См ссылка .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...