如何在没有列的情况下保存数据框?

How to save dataframe without Column?

我有以下 DataFrame

+--------------------+
|                  _1|
+--------------------+
|{"entry": {"@type...|
|{"entry": {"@type...|
|{"entry": {"@type...|
|{"entry": {"@type...|
|{"entry": {"@type...|
|{"entry": {"@type...|
|{"entry": {"@type...|
|{"entry": {"@type...|
|{"entry": {"@type...|
|{"entry": {"@type...|
|{"entry": {"@type...|
|{"entry": {"@type...|
|{"entry": {"@type...|
|{"entry": {"@type...|
|{"entry": {"@type...|
+--------------------+
only showing top 20 rows

每行包含有效 JSON。我会活着保存这个,这样我就有一个文件,最好是 JSON,它只是一个对象嵌套(上面的这些行)。然而,我得到一个 JSON 对象

{"_1":"{"entry": {"@type...}

我只想

{"entry": {"@type...}
{"entry": {"@type...}
{"entry": {"@type...}

最简单的方法之一是 转换为 rdd 并且 select 仅将值 转换为

rdd = df.rdd.map(lambda row: row._1)

然后你可以将rdds转换为dataframe并保存它们为

sqlContext.read.json(rdd).write.json('output path to json')

或者您可以将它们直接保存到文本 json 文件 as

rdd.saveAsTextFile('path to text json file')

希望回答对你有帮助