我正在創(chuàng)建一個腳本,它采用藝術(shù)家的數(shù)據(jù)幀,將它們傳遞給 Spotify API 并返回一些額外的信息。我正在努力研究如何最好地將藝術(shù)家的數(shù)據(jù)幀迭代地傳遞給調(diào)用 Spotify 的函數(shù)。我有兩個功能:artists = grabArtists()它返回藝術(shù)家列表,例如:0 Gas1 System3 Finlay Shakespeare4 Boards Of Canada6 Delia Derbyshire Appreciation Society然后我有功能抓取 Spotify 藝術(shù)家數(shù)據(jù)...def grabSpotifyData(searchQ):# ERASE CACHE AND PROMPT FOR USER PERMISSIONclient_credentials_manager = SpotifyClientCredentials()sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager)# SEARCH FOR AN ARTISTsearchQuery = searchQsearch = sp.search(searchQuery, 1, 0, "artist")artist = search['artists']['items'][0]genres = artist['genres']image = artist['images'][0]['url']pop = artist['popularity']followers = artist['followers']['total']return genres, image, pop, followers我可以通過以下操作非常簡單地獲取單個結(jié)果的數(shù)據(jù)幀。我怎樣才能進行這個迭代,以便它通過藝術(shù)家列表循環(huán)并附加關(guān)于藝術(shù)家的上下文?artists = grabArtists()[0]result = grabSpotifyData(artists)df = pd.DataFrame([(artists), (result[0]), (result[1]), (result[2]), (result[3])])df = df.T它應該返回一個數(shù)據(jù)框,其中的列是:藝術(shù)家、流派、圖像、流行度、追隨者。提前致謝!
2 回答

SMILET
TA貢獻1796條經(jīng)驗 獲得超4個贊
我認為您可以將藝術(shù)家作為列表迭代傳遞給 api:
df = []
for artist in artists:
result = grabSpotifyData(artist)
d0 = pd.DataFrame([(artists), (result[0]), (result[1]), (result[2], (result[3])])
df.append(d0)
df = pd.concat(df, axis=1)

LEATH
TA貢獻1936條經(jīng)驗 獲得超7個贊
df = pd.DataFrame()
for artist in artists:
try:
results = grabSpotifyData(artist)
except IndexError:
pass
df = df.append(results)
df = pd.DataFrame(df)
df = df.reset_index()
添加回答
舉報
0/150
提交
取消