我有一个数据帧,我想将其作为有效的json:写入json文件
我当前的代码看起来像:
val df: DataFrame = myFun(...)
df.toJSON.saveAsTextFile( "myFile.json" )
输出格式为:
{}{}{}
如何将文件内容组织为有效的JSON?:
[{},{},{}]
我使用Spray JSON:的解决方法
def apply(df: DataFrame): Option[String] = {
val collectedData = df.toJSON.coalesce(1).collect().mkString("n")
val json = "[" + ("}n".r replaceAllIn (collectedData, "},n")) + "]"
val pretty = json.parseJson.prettyPrint
Some(s"$prettyn")
}
丑陋且效率低下,但如果最终结果不是大数据量,我会做我想要的事情,在这种情况下,我无论如何都不想要一个合适的json文件。
我正在使用这个(Python)
import json
from bson import json_util
from bson.json_util import dumps
with open('myJson.json', 'w') as outfile:
json.dump(myDF, outfile)
我相信你会找到Scala
的替代品。