python - 通过循环 CSV python 的标题列在 YouTube 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 文件中的标题和艺术家列,其中包含我试图收集数据的歌曲标题,这样我就可以运行程序一次,而不必每次都手动输入歌曲。
一位朋友建议使用这样的东西
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)
但我不确定我将如何使这项工作,因为当我运行它时,它只返回最后一行数据,即使它运行正确,我将如何处理让整个程序为每个实例重复它自己的一首新歌。
解决方案
您可以将歌曲名称和艺术家保存到列表中,循环遍历该列表以获取详细信息。
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()
推荐阅读
- reactjs - 如何在当前组件中使用 handleScroll?
- javascript - 如何在信用卡号的输入文本框中显示4个数字然后是空格?
- spring - 视图解析器的自定义视图
- swift - AWS Amplify:AWSCognitoAuthPlugin 无法解码配置
- azure-pipelines - 测试失败时,vstest@2 任务未运行所有 nunit 测试
- python - 在熊猫数据框列中找到最大差异
- r - 在 R 中模拟时间序列
- html - 添加ondragstart="return false;"是什么意思 到标签?
- xslt - 如何根据 XSLT 中的字段值跳过段
- tibco - Tibco 云集成:Rest Invoke SQL 查询 % 解析错误