我目前提供以下数据集:
x = list((object[u'Field'] for object in y))
我的问题是我想要提取区域值,但这取决于*u'@selected': u'true'*
值的位置。
我想在第一个one = EMEA
的变量中返回
第二个one = Americas
所以我可以搜索*u'@selected': u'true'*
并将以下'Value'
放入变量中,这可能吗?
[{u'Option': [{u'@viewOrder': u'1', u'@id': u'291277', u'Value': u'Americas'}, {u'@selected': u'true', u'@viewOrder': u'2', u'@id': u'291278', u'Value': u'EMEA'}, {u'@viewOrder': u'3', u'@id': u'291279', u'Value': u'APAC'}, {u'@viewOrder': u'4', u'@id': u'292560', u'Value': u'Middle East'}], u'@required': u'false', u'@editable': u'true', u'@multi-value': u'false', u'@field-type': u'dropdown', u'@data-type': u'option', u'@display-name': u'Region', u'@id': u'127596'}],
[{u'Option': [{u'@selected': u'true', u'@viewOrder': u'1', u'@id': u'291277', u'Value': u'Americas'}, {u'@viewOrder': u'2', u'@id': u'291278', u'Value': u'EMEA'}, {u'@viewOrder': u'3', u'@id': u'291279', u'Value': u'APAC'}, {u'@viewOrder': u'4', u'@id': u'292560', u'Value': u'Middle East'}], u'@required': u'false', u'@editable': u'true', u'@multi-value': u'false', u'@field-type': u'dropdown', u'@data-type': u'option', u'@display-name': u'Region', u'@id': u'127596'}],
答案 0 :(得分:1)
假设这是您的数据:
data = [[{u'Option': [{u'@viewOrder': u'1', u'@id': u'291277', u'Value': u'Americas'},
{u'@selected': u'true', u'@viewOrder': u'2', u'@id': u'291278', u'Value': u'EMEA'},
{u'@viewOrder': u'3', u'@id': u'291279', u'Value': u'APAC'},
{u'@viewOrder': u'4', u'@id': u'292560', u'Value': u'Middle East'}],
u'@required': u'false', u'@editable': u'true', u'@multi-value': u'false',
u'@field-type': u'dropdown', u'@data-type': u'option', u'@display-name': u'Region', u'@id': u'127596'}],
[{u'Option': [{u'@selected': u'true', u'@viewOrder': u'1', u'@id': u'291277', u'Value': u'Americas'},
{u'@viewOrder': u'2', u'@id': u'291278', u'Value': u'EMEA'},
{u'@viewOrder': u'3', u'@id': u'291279', u'Value': u'APAC'},
{u'@viewOrder': u'4', u'@id': u'292560', u'Value': u'Middle East'}],
u'@required': u'false', u'@editable': u'true', u'@multi-value': u'false',
u'@field-type': u'dropdown', u'@data-type': u'option', u'@display-name': u'Region', u'@id': u'127596'}]
]
某些循环和索引会提取所需的值:
res = []
for entry in data:
for sub_entry in entry[0]['Option']:
if '@selected' in sub_entry:
res.append(sub_entry['Value'])
print(res)
输出:
['EMEA', 'Americas']