Spotipy:印刷跟踪信息

时间:2017-05-04 03:01:42

标签: python list python-3.x dictionary

我无法使用spotipy从Spotify上的曲目打印信息。

我目前有以下代码:

import spotipy
import sys
import json

urn = 'spotify:track:450vazRH94IB21mom5FkN9'
sp = spotipy.Spotify()
track_info = sp.track(urn)
artist_name = track_info['album']['artists']
artist_name

输出:

[{' external_urls':{' spotify':' https://open.spotify.com/artist/0YWxKQj2Go9CGHCp77UOyy'},   ' href':' https://api.spotify.com/v1/artists/0YWxKQj2Go9CGHCp77UOyy',   ' id':' 0YWxKQj2Go9CGHCp77UOyy',   '姓名':' Fabolous',   '输入':'艺术家',   ' uri':' spotify:艺术家:0YWxKQj2Go9CGHCp77UOyy'}]

当我尝试使用artist_name = track_info ['] ['] ['艺术家']并添加['名称]时,如下:

artist_name = track_info['album']['artists']['name']

我收到此错误:

TypeError:list indices必须是整数或切片,而不是str

我不确定为什么它会说它是一个字符串。

1 个答案:

答案 0 :(得分:1)

track_info['album']['artists']是一个列表,您需要使用索引(list[0])获取项目:

artist_name = track_info['album']['artists'][0]['name']

它可以是多位艺术家。在这种情况下,请使用list comprehension

artist_names = [artist['name'] for artist in track_info['album']['artists']]