Python 从dict中提取数据
下面是我正在处理的数据的一个示例Python 从dict中提取数据,python,list,dictionary,Python,List,Dictionary,下面是我正在处理的数据的一个示例 {'etag': '"ld9biNPKjAjgjV7EZ4EKeEGrhao/1v2mrzYSYG6onNLt2qTj13hkQZk"', 'items': [{'etag': '"ld9biNPKjAjgjV7EZ4EKeEGrhao/Xy1mB4_yLrHy_BmKmPBggty2mZQ"', 'id': '1', 'kind': 'youtube#videoCategory', 's
{'etag': '"ld9biNPKjAjgjV7EZ4EKeEGrhao/1v2mrzYSYG6onNLt2qTj13hkQZk"',
'items': [{'etag': '"ld9biNPKjAjgjV7EZ4EKeEGrhao/Xy1mB4_yLrHy_BmKmPBggty2mZQ"',
'id': '1',
'kind': 'youtube#videoCategory',
'snippet': {'assignable': True,
'channelId': 'UCBR8-60-B28hp2BmDPdntcQ',
'title': 'Film & Animation'}},
{'etag': '"ld9biNPKjAjgjV7EZ4EKeEGrhao/UZ1oLIIz2dxIhO45ZTFR3a3NyTA"',
'id': '2',
'kind': 'youtube#videoCategory',
'snippet': {'assignable': True,
'channelId': 'UCBR8-60-B28hp2BmDPdntcQ',
'title': 'Autos & Vehicles'}},
{'etag': '"ld9biNPKjAjgjV7EZ4EKeEGrhao/nqRIq97-xe5XRZTxbknKFVe5Lmg"',
'id': '10',
'kind': 'youtube#videoCategory',
'snippet': {'assignable': True,
'channelId': 'UCBR8-60-B28hp2BmDPdntcQ',
'title': 'Music'}},
'kind': 'youtube#videoCategoryListResponse'}
我想提取两列数据
'id'=1,'title'=Film&Animation
我对Python非常陌生,在Python中实现这一点的最佳方法是什么
非常感谢大家 我想是的
for it in data['items']:
print(it['id'], it['snippet']['title'])
“项目”是一个对象列表,您可以通过for循环对其进行迭代:
for item in your_data['items']:
id = item['id']
title = item['snippet']['title']
print(id, title)
我猜有一个输入错误,
'items'
键是一个列表
,每当我们开始括号([
)时,我们需要关闭它们(]
)
{'etag':'ld9biNPKjAjgjV7EZ4EKeEGrhao/1v2mrzYSYG6onNLt2qTj13hkQZk',
“项目”:[{'etag':'“ld9biNPKjAjgjV7EZ4EKeEGrhao/Xy1mB4_yLrHy_BMKMPBGTY2MZQ”,
“id”:“1”,
“种类”:“youtube视频分类”,
'snippet':{'assignable':True,
“channelId”:“UCBR8-60-B28hp2BmDPdntcQ”,
“标题”:“电影与动画”},
{'etag':'ld9biNPKjAjgjV7EZ4EKeEGrhao/UZ1oLIIz2dxIhO45ZTFR3a3NyTA',
“id”:“2”,
“种类”:“youtube视频分类”,
'snippet':{'assignable':True,
“channelId”:“UCBR8-60-B28hp2BmDPdntcQ”,
“标题”:“汽车和车辆”},
{'etag':'ld9biNPKjAjgjV7EZ4EKeEGrhao/nqRIq97-xe5XRZTxbknKFVe5Lmg',
“id”:“10”,
“种类”:“youtube视频分类”,
'snippet':{'assignable':True,
“channelId”:“UCBR8-60-B28hp2BmDPdntcQ”,
'title':'Music'},#0(过滤数据)
[如果行['id']>0,则数据['items']中的行对应行]
合并两个过滤数据提取特殊字段:
[(r['id'],r['snippet']['title'])如果r['id']>0,则表示数据['items']中的r
同时给过滤器一个机会
真的很酷
f=lambda r:(r['id'],r['snippet']['title'])
结果=过滤器(f,数据['items'])
这不是JSON,这是一个dict。访问嵌套字典键并不难欢迎使用StackOverflow!这很好,您已经发布了示例数据,但请添加您迄今为止一直在尝试的代码片段-以显示您的努力和方法,以及您希望如何解决此问题。感谢您的评论和建议ns,我对编码和堆栈溢出都是新手,所以我以后会记住上面的内容。谢谢!我会尝试一下。我非常感谢你的时间和努力。谢谢!我会尝试一下。我非常感谢你花时间来帮助我。感谢你全面的解决方案!我会尝试一下。我对Python非常陌生o我真的很感激。