【发布时间】:2018-07-13 13:54:35
【问题描述】:
我有一个字符串类型的列,其中包含一个嵌套字典对象的元素列表。例如
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"}]'
这实际上是 spark 数据框中的一列,它是一个字符串类型。所以我想知道如何将字符串的内容转换为列表,以便我可以使用 json.loads 转换列表中的每个元素。
有什么想法吗?
【问题讨论】:
-
抛开小语法问题(单引号字符串中的换行符),您所拥有的可以直接传递给
json.loads,它会将其解码为 Pythondicts 列表。跨度> -
这里的最终目标是什么? PySpark 中有 JSON 函数。我想知道这是不是XY problem。
-
确实是XY问题。最终目标是从 pyspark 数据框中检索嵌套的 json 对象。谢谢指出
标签: python json apache-spark spark-dataframe