我需要从一个json文件中从一个特定的dictionary或dictionary列表中获取一些值,并将它们转换为一个键,value为string value。你知道吗
像这样的文件的例子。你知道吗
1)首先复制变量中的所有值。你知道吗
var fileA =
[{'key1': 'value1',
'key2': 'value2',
'key3': 'value3',
'...': '...',
'keyN': {'keyNN': [{'key_a': 'value_a',
'key_b': 'value_b'},
{'key_AA': 'value_AA'}]}},
{'key1': 'value1',
'key2': 'value2',
'key3': 'value3',
'...' :'...',
'keyN': {'keyNN': {'key_a': 'value_a',
'key_b': 'key_b'}}},
....]
2)评估两种情况后:第一种情况,如果类型是dict或list,因为'keyN'是dict,'keyNN'是dict,但在第一句中'key\ u a'是字典列表的一部分,在第二句中是其他字典。你知道吗
我手动解决了这部分问题,如果我把这段代码放在一个函数中并显示来自迭代的错误消息。你知道吗
如果结果是一个字典,我打印值并存储在一个变量中。你知道吗
if type(fileA['keyN']['keyNN']) is dict:
X= fileA['keyN']['keyNN'].copy()
del (fileA['keyN'])
X.popitem()
X.update([fileA])
print(X)
TypeError: string indices must be integers
在第二种情况下,如果类型是列表:
for index in fileA['keyN']['keyNN']:
for key in index:
new_values = ("{}={}".format(key, index[key]))
print(new_values)
print(type(new_values))
打印结果
key_a=value_a
key_b=value_b
key_c=value_c
<class 'str'>
3)使用函数popitem()和update()。你知道吗
fileA[0].popitem()
fileA[0].update('keyN'= new_values)
结果
[{'key1': 'value1',
'key2': 'value2',
'key3': 'value3',
'...': '...',
'keyN': 'key_AA=value_AA'},
但预期结果应该是:
[{'key1': 'value1',
'key2': 'value2',
'key3': 'value3',
'...': '...',
'keyN': 'key_a=value_a,
key_b=value_b,
key_AA=value_AA'},
{'key1': 'value1',
'key2': 'value2',
'key3': 'value3',
'...' :'...',
'keyN': 'key_a=value_a,
key_b=key_b'}},
....]
如上一个示例所示,keyN是主键,所有嵌套的键和值只包含在一个字符串(keyN的值)中。你知道吗
我无法用新值存储和更新主键参数,我尝试了popitem和更新后。你知道吗
所以,一个小时又一个小时,检查所有选项后,我请求你的帮助。 谢谢
我解决了一部分,工作和之后,错误再次。你知道吗
相关问题 更多 >
编程相关推荐