通过遍历CSV python的标题列

时间:2019-11-29 06:57:42

标签: python youtube-data-api

我正在使用YouTubes API从音乐视频列表中获取评论数据。我现在的工作方式是手动输入查询内容,然后将数据写入csv文件,然后对每首歌曲重复这样的操作。

query = "song title"


query_results = service.search().list(
        part = 'snippet',
        q = query,
        order = 'relevance', # You can consider using viewCount
        maxResults = 20,
        type = 'video', # Channels might appear in search results
        relevanceLanguage = 'en',
        safeSearch = 'moderate',
        ).execute()

我想做的是使用包含要为其收集数据的歌曲标题的csv文件中的title和artist列,这样我可以运行一次该程序而不必手动键入每首歌曲时间。

一个朋友建议使用这样的东西

import pandas as pd

data = pd.read_csv("metadata.csv")
def songtitle():
for i in data.index:
    title = data.loc[i,'title']
    title = '\"' + title + '\"'
    artist = data.loc[i,'artist']

return(artist, title)

但是我不确定如何使它工作,因为当我运行它时,它仅返回最后一行数据,即使它运行正确,我也将如何处理使整个程序自我重复每首新歌。

1 个答案:

答案 0 :(得分:0)

您可以将歌曲标题和歌手保存到列表中,然后在列表上循环以获取详细信息。

def get_songTitles():
    data = pd.read_csv("metadata.csv")
    return data['artist'].tolist(),data['title'].tolist()

artist, song_titles  = get_songTitles()
for song in song_titles:
    query_results = service.search().list(
                                            part = 'snippet',
                                            q = song,
                                            order = 'relevance', # You can consider using viewCount
                                            maxResults = 20,
                                            type = 'video', # Channels might appear in search results
                                            relevanceLanguage = 'en',
                                            safeSearch = 'moderate',
                                        ).execute()