Python 循环遍历Unicode数据字典
我正在尝试循环遍历unicode数据列表<代码>类型(d['results'])是一个Python 循环遍历Unicode数据字典,python,list,loops,dictionary,Python,List,Loops,Dictionary,我正在尝试循环遍历unicode数据列表类型(d['results'])是一个列表。但是,organization\u fields实际上是一个dict,但在查看加载时格式为unicode。问题是,我如何访问组织\u字段?我曾尝试使用ast.literal\u eval(k)更改格式,但在尝试更改时出现了一些错误 另外,我正在获取我的响应r,并将其保存为d=r.json() 我有 for a in d['results']: ...: for k,v in a.iteri
列表
。但是,organization\u fields
实际上是一个dict
,但在查看加载时格式为unicode。问题是,我如何访问组织\u字段
?我曾尝试使用ast.literal\u eval(k)
更改格式,但在尝试更改时出现了一些错误
另外,我正在获取我的响应r
,并将其保存为d=r.json()
我有
for a in d['results']:
...: for k,v in a.iteritems():
...: print k
...: print type(k)
...: print('------break-----')
以下是输出:
name
<type 'unicode'>
------break-----
shared_comments
<type 'unicode'>
------break-----
url
<type 'unicode'>
------break-----
organization_fields
<type 'unicode'>
------break-----
更新
当我尝试打印
d['results'][0]
时,我确实会得到一个项目列表,其中包括url
,name
,但其中不存在organization\u字段。只有当我在上面的循环中循环a
时,它才存在循环我不确定是否理解您的问题
但如果我这么做了,你应该试试这样:
print d['result'][0]['organization_fields']['id']
哪个应该打印
some_id
-->我认为不存在任何“unicode数据”:存在以unicode字符串作为键的字典。组织\u字段不存储为unicode。键是unicode字符串,但键u‘organization_fields’存储的值的类型是一个包含更多使用unicode字符串键存储的值的字典。访问组织字段的值与访问任何其他字典的值是相同的
如果要访问for循环中的organization_字段:
for a in d['results']:
org_fields = a['organization_fields']
print org_fields
编辑:听起来不像d['results']的每个元素都包含一个字典,其中的值存储在关键组织_字段中。这应该能奏效
for a in d['results']:
if 'organization_fields' in a:
org_fields = a['organization_fields']
print org_fields
如果要查看d['results']的哪个索引包含organization_字段的值,请执行以下操作:
for i, a in enumerate(d['results']):
if 'organization_fields' in a:
org_fields = a['organization_fields']
print org_fields
print 'index: %s' % i
然后,使用从那里打印的索引,您可以直接访问它:
org_fields = d['results'][index printed]['organization_fields']
我试图访问organization\u字段
字典,但它存储为unicode。我刚刚尝试了一下,得到了类型错误:列表索引必须是整数,而不是str
——我想知道有没有办法把它变成字典,而不是unicode数据?是的,我错过了在数据堆栈中有一个列表。我在我的帖子中添加了一个[0]。将打印d的结果添加到问题中。收到:KeyError:'organization_fields'
@Rem我的编辑应该为您提供一条解决问题的清晰路径。我希望这有帮助。
org_fields = d['results'][index printed]['organization_fields']