如何附加' null'或' n/a'从YouTube API提取数据时的价值
我的代码允许从YouTube API调用数据,并将其列入列表以形成数据FRAM。 但是,当API无法访问“项目”时,它会返回错误。为了避免错误,我需要附加“ n/a”或“ null”,并在API无法访问某些项目时通过。
def get_channel_stats(youtube, channel_ids):
all_data = []
for i in range(0, len(channel_ids), 50):
request = youtube.channels().list(
part='snippet,contentDetails,statistics',
id = ','.join(channel_ids[i:i+50]))
response = request.execute()
for i in range(len(response['items'])):
data = dict(channel_name = response['items'][i]['snippet']['title'],
published_date = response['items'][i]['snippet']['publishedAt'],
subscribers = response['items'][i]['statistics']['subscriberCount'],
views = response['items'][i]['statistics']['viewCount'],
total_videos = response['items'][i]['statistics']['videoCount'],
playlist_id = response['items'][i]['contentDetails']['relatedPlaylists']['uploads'],
retrieved_date = date.today().strftime('%Y/%m/%d')
)
all_data.append(data)
return all_data
任何指示或建议都会非常有帮助。
谢谢您。
My code allows to call data from Youtube API and put them into list to form a datafram.
However, when the API cannot access the 'items' it returns error. In order to avoid errors, I need to append 'n/a' or 'null' and pass when the API cannot access certain items.
def get_channel_stats(youtube, channel_ids):
all_data = []
for i in range(0, len(channel_ids), 50):
request = youtube.channels().list(
part='snippet,contentDetails,statistics',
id = ','.join(channel_ids[i:i+50]))
response = request.execute()
for i in range(len(response['items'])):
data = dict(channel_name = response['items'][i]['snippet']['title'],
published_date = response['items'][i]['snippet']['publishedAt'],
subscribers = response['items'][i]['statistics']['subscriberCount'],
views = response['items'][i]['statistics']['viewCount'],
total_videos = response['items'][i]['statistics']['videoCount'],
playlist_id = response['items'][i]['contentDetails']['relatedPlaylists']['uploads'],
retrieved_date = date.today().strftime('%Y/%m/%d')
)
all_data.append(data)
return all_data
Any directions or advice would be very helpful.
Thank you in advanced.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请让我知道这是否有效:
我要做的就是检查
request.execute()
的JSON是否具有称为items
的东西;如果确实如此,我继续进行您的循环,如果没有,我将'n/a'
附加到all_data
list。Please let me know if this works:
All I am doing is checking if the JSON returned by
request.execute()
has something calleditems
; if it does, I proceed with your for loop, and if it doesn't, I append'n/a'
to theall_data
list.