【发布时间】:2023-03-05 21:44:01
【问题描述】:
我是 Python 新手,正在努力从 dict 文件中提取某些信息。
我有数百万个存储文本数据的 JSON 文件。所有 JSON 文件都具有相似的结构。结构上有很多变化。对于每个 JSON 文件,我想从特定键中提取所有文本字符串并将它们存储为字典。
下面的json1 和json2 是简化的示例。我一直在做的是从 JSON 文件中抽取样本,分析它们,编写大量 if 语句,试图包含所有可能的变化。但是,我发现它效率低下,并且仍然无法包含所有场景。我想知道是否有一种通用的方法可以使用键 "text" 搜索和提取值。
json1 = {
"section": {
"heading":{"lvl":"A1", "text":"today"},
"paragraph":[
{"color":"green", "text":"yesterday"},
{"color":"purple", "text":"tomorrow"}
]
}
}
json2 = {
"paragraph":{"text":"everyday", "color": "black"}
}
换句话说,我想得到一个包含所有文本字符串的字典,其中的键为“文本”。对于json1,我想得到{"json1":"today yesterday tomorrow"}。对于json2,我想得到{"json2":"everyday"}。
非常感谢任何帮助。
【问题讨论】:
-
您想要
set还是dict作为结果?你已经显示了set。 -
@juanpa.arrivillaga 我想要一个
dict作为结果。我已经修复了我的描述。很抱歉造成混乱。 -
现在你有一个
dict,其中json对象的名称作为键(奇怪)和一个由每个"text"值连接并用逗号连接的字符串......你确定那正是你想要的?这听起来不是特别有用,尤其是因为它是一个具有单个键值对的字典......
标签: python json dictionary