2017-05-04 9 views
1

Spotifyのトラックからの情報の印刷に問題があります。Spotipy:トラック情報の印刷

私は現在、次のコードを有する:

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': 'https://open.spotify.com/artist/0YWxKQj2Go9CGHCp77UOyy '}、 'のhref':{ 'Spotifyは' https://api.spotify.com/v1/artists/0YWxKQj2Go9CGHCp77UOyy'、 'ID': '0YWxKQj2Go9CGHCp77UOyy' '名称': 'ファボラス' 'タイプ': 'アーティスト' 'URI': 'Spotifyは:アーティスト:0YWxKQj2Go9CGHCp77UOyy'}]

私が試してみてARTIST_NAME = track_info [ 'アルバム'] [ 'アーティスト']使用などのように、最後に[ '名前]を追加する場合:

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

私はこのエラーを取得する:

はTypeError:リストインデックスは、strではなく整数またはスライスでなければなりません

なぜそれが文字列であるのかわかりません。

答えて

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']] 
関連する問題