我正在写一个循环来导入20个.json文件。我想创建一个包含20个字典的字典。我有一切,除了我需要有条件地使用两个字段之一来分配20个字典名称(即顶级字典中的20个键)。
我的循环的最后两行是:
name=jsondat.get('Info', {}).get('Name')
dict1[name] = text_dict
name
行很有效,但所有20个.json文件中都不存在['Info']['Name']
。在这些情况下,我希望使用正则表达式从['Info']
中的不同字段中提取子字符串。为简洁起见,我们只想说我想使用名为'URL'
的字段。所以我似乎需要做一些事情:
name=jsondat.get('Info', {}).get('Name','URL')
dict1[name] = text_dict
但这并不奏效。它会运行,但在'URL'
不可用时,它实际上并未使用'Name'
字段。
答案 0 :(得分:2)
您可以执行类似
的操作info = jsondat.get('Info', {})
name = info.get('Name', info.get('URL', None))
哪个会使用'名称'如果它存在,否则它会查找' URL'否则它只返回None。