пытаясь импортировать данные с сайта в панд - PullRequest
1 голос
/ 02 октября 2019

Я пытаюсь импортировать данные с веб-сайта json в фрейм данных панд, я могу загрузить данные, но не уверен, как их экспортировать в панд. На данный момент я просто получаю некоторую информацию в таблицу, которая относится к последней записи на веб-странице, ниже приведен код, который я использую. В будущем я хочу добавить больше столбцов и данных на фрейм данных с веб-сайта, но на данный момент, если вы можете помочь с одним столбцом, я постараюсь решить остальное для себя. Любая помощь высоко ценится.

import requests
import json
headers = {'User-Agent':
       'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36'}
url = 'https://api.gbgb.org.uk/api/results/meeting/355352&?meeting=355352&'
response =requests.get(url,headers=headers)
data=json.loads(response.text)

def jprint(obj):
    # create a formatted string of the Python JSON object
    text = json.dumps(obj, sort_keys=True, indent=4)
    #print(text)

jprint(response.json())

#print(response.json())

for d in data[0]['races']:
    for dog in d['traps']:
        print(dog['dogName'])



import pandas as pd
test_df = pd.DataFrame({'dogName': dog})
print(test_df.info())
test_df

1 Ответ

0 голосов
/ 06 октября 2019

Вам необходимо создать словарь из имен собак и добавить каждый словарь в список. Из этого списка вы можете создать свой фрейм данных.

dog_name_list = []     #You will add a dictionary with the column name and dog name to this list.
for d in data[0]['races']:
    for dog in d['traps']:
        dog_name = dog["dogName"]
        dog_name_list.append({"dogName":dog_name})


test_df = pd.DataFrame(dog_name_list)
print(test_df.info())
print(test_df)

Ваш цикл for просто перебирает данные и печатает имена собак. В результате этого, когда вы пытаетесь создать фрейм данных с переменной dog, он возвращает ответ json последней собаки в данных «Weight For Jay». все ваши импорты в начале вашего кода.

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