当前位置: 首页 > 知识库问答 >
问题:

使用python[复制]从列表中提取json对象

石臻
2023-03-14

我有一个字符串类型的列,其中包含嵌套字典对象的元素列表。例如

str = '[{"method":
{"super":0.03,"normal":0.8,"par":0.15,"goal":0.01,"fact":0.04},
"city":["nyc","atlanta"],
"description":"some description",
"content_type":"media"},
{"method":
{"super":0.03,"normal":0.8,"par":0.15,"goal":0.01,"fact":0.04},
"city":["chicago","dallas"],
"description":"some description2",
"content_type":"web"},
{"method":
{"super":0.03,"normal":0.8,"par":0.15,"goal":0.01,"fact":0.04},
"city":["las vegas","buffalo"],
"description":"some description3",
"content_type":"media"}]'

这实际上是火花数据帧中的一列,它是字符串类型的。所以我想知道如何将字符串的内容转换为列表,以便我可以使用json.loads.转换列表中的每个元素

知道吗?

共有3个答案

党建义
2023-03-14

有几个步骤可以解决这个问题,我希望json。当你的任务完成时,你甚至需要负载。如果遵循这些步骤,字符串将转换为一系列字典(几乎不需要json.loads)

第一步,假设您将字符串设置为变量“value”,则从字符串中删除括号“[]”运行以下行:

value = value[1:]
value = value[:-1]

接下来,我们将准备使用蟒蛇。函数的作用是:通过选择任何字符分隔字符串,将其转换为列表。问题是,字符串中有两级逗号。一个在列表之间,一个在字典值之间。因此,在我们拆分行之前,让我们将列表中的逗号转换为半彩色,这样我们的拆分函数就可以在适当的位置吐出字符串。使用以下代码:

value = value.replace('},','};') 

最后,使用以下代码value=value将字符串拆分为一个列表。拆分(“;”)

让我知道这对你有用吗祝你好运

宰父桐
2023-03-14

json。加载应该可以很好地处理这些数据——它将返回一个dict列表。

高博涉
2023-03-14
import json
msg = '''[{"method":
{"super":0.03,"normal":0.8,"par":0.15,"goal":0.01,"fact":0.04},
"city":["nyc","atlanta"],
"description":"some description",
"content_type":"media"},
{"method":
{"super":0.03,"normal":0.8,"par":0.15,"goal":0.01,"fact":0.04},
"city":["chicago","dallas"],
"description":"some description2",
"content_type":"web"},
{"method":
{"super":0.03,"normal":0.8,"par":0.15,"goal":0.01,"fact":0.04},
"city":["las vegas","buffalo"],
"description":"some description3",
"content_type":"media"}]'''
json.loads(msg)[0]



 out:
{'city': ['nyc', 'atlanta'],
 'content_type': 'media',
 'description': 'some description',
 'method': {'fact': 0.04,
  'goal': 0.01,
  'normal': 0.8,
  'par': 0.15,
  'super': 0.03}}
 类似资料:
  • 问题内容: 我在python中有一个 统一 的对象列表: 现在,我想提取一个具有该类某些属性的列表(比如attr),以便将其传递给某个函数(例如用于绘制该数据) pythonic的做法是什么, ? 也许派生列表并添加一个方法,所以我可以使用一些习惯用法,例如 ? 问题答案: 您还可以编写: 这样,您将获得一个节省内存的生成器。有关更多好处,请参见Generator Expressions 。

  • 问题内容: 我有一个字典列表,其中特定值重复多次,我想删除重复的值。 我的清单: 删除重复值的功能: 当我调用此函数时,我得到了。 当我尝试遍历生成器时,我得到 有没有办法删除重复的值或遍历生成器 问题答案: 您可以通过字典理解轻松地删除重复键,因为字典不允许重复键,如下所示- 输出-

  • 我想知道如何从pdf中提取数据,通过使用python语言在py魅力。我试图通过从pypdf2导入使用py魅力编码,但它没有显示结果。

  • 我的数据框中有一列包含JSON列表,但类型是字符串。我需要在此列上运行,因此首先需要将其转换为列表。我找不到太多关于这个用例的参考。 示例数据: 上面是数据的样子,字段是不固定的(索引0可能有JSON和一些字段,而索引1将有一些字段和一些其他字段)。列表中可以有更多嵌套的JSONs或一些额外的字段。我现在正在用这个- <code>“分解(拆分(regexp_replace(regexp_repla

  • 我有一个JSON响应,希望从响应中提取值列表,例如id的所有值。 我已经尝试了下面的代码,但无法实现,但它只是打印id的第一个值,即4。 我是初学者,我也不确定我们是否能达到同样的效果。任何帮助都将不胜感激。提前谢谢。