我是Spark和Python编码的新手。我使用saveAsTextFile
保存处理后的数据。数据是行列表,保存后变成字符串。当我通过numpy.loadtxt("filename", delimiter=',')
加载它们时(此方法将自动将加载的数据转换为float),有错误报告说由于'['方括号,数据无法转换为float。
那么,如何保存不带方括号或带有方括号的行列表,但稍后再加载它们并将其正确转换为float?
抱歉,我也是新手。这是为什么我的问题不是重复的解释。
链接列中的类似问题在Scala中,而我的问题在Python中(尽管答案在Scala中)。此外,这是使用replace
的答案,可以完美地解决我的问题(删除列表的方括号),但是类似的问题中没有这种方法(我不确定我的第二点是否是解释)我已为该问题的以后的查看者评论了replace
方法的Python版本。
最佳答案
如果您有(value1, value2)
之类的数据,可以采取以下措施
data.map(x => x._1 + "," + x._2).saveAsTextFile(outputPath)
您可以使用
mkstring()
制作单个字符串data.map(x=>x.mkString(",").saveAsTextFile(outputPath)
这是一个scala代码,希望您可以将其转换为pyspark。
希望这可以帮助!
关于python - 如何通过Spark/Pyspark中的saveAsTextFile保存不带方括号的列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44642651/