Отображение данных квадрата в json в Python - PullRequest
0 голосов
/ 21 ноября 2018

Я работаю над извлечением данных из Foursquare, связанных с местами проведения (то есть: нет фотографий для каждого места, счетчик чаевых, рейтинг, количество оценщиков, лайки и т. Д.).Я использовал этот код для извлечения одного идентификатора места, который хорошо подходит для сканирования нужных данных.

url3 = 'https://api.foursquare.com/v2/venues/{}?&client_id={}&client_secret={}&v={}'.format(venue_id908, CLIENT_ID, CLIENT_SECRET, VERSION)
res1 = requests.get(url3).json()
print(res1['response']['venue'].keys())
stats = json_normalize(stats)

Однако, когда я пытаюсь создать функцию для извлечения данных для списка идентификаторов места, я получаюошибка в ['месте встречи'].Это функция, которую я использовал:

def getvenuesstats(i): 
id_list = []

for i in zip(id_list):
    url = 'https://api.foursquare.com/v2/venues/{}?&client_id={}&client_secret={}&v={}'.format(i, CLIENT_ID, CLIENT_SECRET, VERSION, LIMIT)
    results = requests.get(url).json()
    stats = results['response']['venue']
    id_list.append([(photos_count,
                     tipscount,
                     rating,
                     raters,
                     likes,
                     dislikes,
                     checkins,
                     v['venue']['photos']['count'],
                     v['venue']['stats']['tipCount'],
                     v['venue']['rating'],
                     v['venue']['ratingSignals'],
                     v['venue']['likes']['count'],
                     v['venue']['dislike'],
                     v['venue']['beenHere']['count']) for v in stats             
    ])
stats_venues = pd.DataFrame([item for id_list in id_list for item in id_list])
return(stats_venues)

..., которая возвращает ключевую ошибку «место».

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

1 Ответ

0 голосов
/ 21 ноября 2018

Вы уже подразделяетесь на venue при определении статистики.

def getvenuesstats(i): 
id_list = []

for i in zip(id_list):
    url = 'https://api.foursquare.com/v2/venues/{}?&client_id={}&client_secret={}&v={}'.format(i, CLIENT_ID, CLIENT_SECRET, VERSION, LIMIT)
    results = requests.get(url).json()
    stats = results['response']['venue']
    id_list.append([(photos_count,
                     tipscount,
                     rating,
                     raters,
                     likes,
                     dislikes,
                     checkins,
                     v['photos']['count'],
                     v['stats']['tipCount'],
                     v['rating'],
                     v['ratingSignals'],
                     v['likes']['count'],
                     v['dislike'],
                     v['beenHere']['count']) for v in stats             
    ])
stats_venues = pd.DataFrame([item for id_list in id_list for item in id_list])
return(stats_venues)
...