【发布时间】:2020-02-22 00:07:28
【问题描述】:
我正在尝试获取 Spotify 歌曲列表 using their API 上的 audio_feature 数据。获得我的 API 令牌后,我向 API 发出请求,将使用以下代码
header2 ={
'Authorization':'Bearer '+token.json()['access_token']
}
param2 = {
'ids' : '7C5UlMz9b51rQI66lpEiSo,6ocbgoVGwYJhOv1GgI9NsF,22vgEDb5hykfaTwLuskFGD'
}
response = requests.get(endpoint,headers=header2,params=param2)
response.status_code
response.json()
这给了我这个回应
{'audio_features': [{'danceability': 0.297,
'energy': 0.827,
'key': 5,
'loudness': -4.748,
'mode': 1,
'speechiness': 0.0735,
'acousticness': 0.12,
'instrumentalness': 0.000123,
'liveness': 0.347,
'valence': 0.467,
'tempo': 147.232,
'type': 'audio_features',
'id': '7C5UlMz9b51rQI66lpEiSo',
'uri': 'spotify:track:7C5UlMz9b51rQI66lpEiSo',
'track_href': 'https://api.spotify.com/v1/tracks/7C5UlMz9b51rQI66lpEiSo',
'analysis_url': 'https://api.spotify.com/v1/audio-analysis/7C5UlMz9b51rQI66lpEiSo',
'duration_ms': 221773,
'time_signature': 4},
{'danceability': 0.778,
'energy': 0.317,
'key': 1,
'loudness': -10.732,
'mode': 0,
'speechiness': 0.334,
'acousticness': 0.592,
'instrumentalness': 0,
'liveness': 0.0881,
'valence': 0.327,
'tempo': 140.048,
'type': 'audio_features',
'id': '6ocbgoVGwYJhOv1GgI9NsF',
'uri': 'spotify:track:6ocbgoVGwYJhOv1GgI9NsF',
'track_href': 'https://api.spotify.com/v1/tracks/6ocbgoVGwYJhOv1GgI9NsF',
'analysis_url': 'https://api.spotify.com/v1/audio-analysis/6ocbgoVGwYJhOv1GgI9NsF',
'duration_ms': 178627,
'time_signature': 4},
{'danceability': 0.842,
'energy': 0.734,
'key': 1,
'loudness': -5.065,
'mode': 0,
'speechiness': 0.0588,
'acousticness': 0.0427,
'instrumentalness': 0,
'liveness': 0.106,
'valence': 0.952,
'tempo': 137.958,
'type': 'audio_features',
'id': '22vgEDb5hykfaTwLuskFGD',
'uri': 'spotify:track:22vgEDb5hykfaTwLuskFGD',
'track_href': 'https://api.spotify.com/v1/tracks/22vgEDb5hykfaTwLuskFGD',
'analysis_url': 'https://api.spotify.com/v1/audio-analysis/22vgEDb5hykfaTwLuskFGD',
'duration_ms': 181027,
'time_signature': 4}]}
我现在真的想将这三个 JSON 记录转换为一个表,其中包含当前作为每个轨道的标签存在的列。如何创建这样的表?
我在使用 json.dumps() 时遇到了错误,当我使用以下命令时,我只获取每个 JSON 记录的字符串:
df = pd.DataFrame(data=response.json(),)
print(df)
【问题讨论】:
-
1) 尝试放置列表 `response.json()['audio_features'] 而不是完整的字典。 2)您可能想给出错误日志,以便我们可以在“json”3中找到错误。
标签: python json api response spotify