字符串索引必须是整数 json 文件
string indices must be integers json file
我试图使用 API 从 YouTube 获取数据,但愿我做到了,但是在尝试解析文件时出现错误,字符串索引必须是整数。
以下是我面临的错误...
TypeError
Traceback (most recent call last)
<ipython-input-48-213e690c5b60> in <module>----> 1 response['items'][0]['id']['videoId']['snippet']['title']
TypeError: string indices must be integers
实际上,我试图从频道中获取第一个视频所以我输入了 response['items'][0]
,我很容易就得到了...但是当我试图解析 Video_ID
和 Title
那个视频我收到这个错误。
但是,当我分别执行它们时,我得到了输出。
单独执行时输出:
response['items'][0]['id']['videoId']
'gzJGqML4j5k'
response['items'][0]['snippet']['title']
'Roles And Responsibilities Of An AI Engineer'
一起执行输出:
response['items'][0]['id']['videoId']['snippet']['title']
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-50-213e690c5b60> in <module>
----> 1 response['items'][0]['id']['videoId']['snippet']['title']
TypeError: string indices must be integers
任何人都可以帮助我并告诉我如何在一个命令中获得此输出。
正如您在评论中看到的那样 - 您无法一步从 JSON
/dictionary
中获取两个值。
您必须单独获取每个值并将两者合而为一print()
更具可读性:
val1 = response['items'][0]['id']['videoId']
val2 = response['items'][0]['snippet']['title']
print(val1, val2)
相同但在一行中:
print(response['items'][0]['id']['videoId'], response['items'][0]['snippet']['title'])
或仍然可读的简短版本:
item = response['items'][0]
print(item['id']['videoId'], item['snippet']['title'])
它与 for
-loop
一起工作
for item in response['items']:
print(item['id']['videoId'], item['snippet']['title'])
我试图使用 API 从 YouTube 获取数据,但愿我做到了,但是在尝试解析文件时出现错误,字符串索引必须是整数。
以下是我面临的错误...
TypeError
Traceback (most recent call last)
<ipython-input-48-213e690c5b60> in <module>----> 1 response['items'][0]['id']['videoId']['snippet']['title']
TypeError: string indices must be integers
实际上,我试图从频道中获取第一个视频所以我输入了 response['items'][0]
,我很容易就得到了...但是当我试图解析 Video_ID
和 Title
那个视频我收到这个错误。
但是,当我分别执行它们时,我得到了输出。
单独执行时输出:
response['items'][0]['id']['videoId']
'gzJGqML4j5k'
response['items'][0]['snippet']['title']
'Roles And Responsibilities Of An AI Engineer'
一起执行输出:
response['items'][0]['id']['videoId']['snippet']['title']
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-50-213e690c5b60> in <module>
----> 1 response['items'][0]['id']['videoId']['snippet']['title']
TypeError: string indices must be integers
任何人都可以帮助我并告诉我如何在一个命令中获得此输出。
正如您在评论中看到的那样 - 您无法一步从 JSON
/dictionary
中获取两个值。
您必须单独获取每个值并将两者合而为一print()
更具可读性:
val1 = response['items'][0]['id']['videoId']
val2 = response['items'][0]['snippet']['title']
print(val1, val2)
相同但在一行中:
print(response['items'][0]['id']['videoId'], response['items'][0]['snippet']['title'])
或仍然可读的简短版本:
item = response['items'][0]
print(item['id']['videoId'], item['snippet']['title'])
它与 for
-loop
for item in response['items']:
print(item['id']['videoId'], item['snippet']['title'])