Pyspark - 将数据帧写入2个不同的csv文件

时间:2017-09-13 13:35:49

标签: python apache-spark pyspark

我想将一个DataFrame保存到2个不同的csv文件中(拆分DataFrame) - 一个只包含标题,另一个包含其余的行。

我想将2个文件保存在同一目录下,因此如果可能,Spark处理所有逻辑将是最佳选择,而不是使用pandas拆分csv文件。

最有效的方法是什么?

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

让我们假设你已经有数据集被称为" df"。

您可以: 方案一:写两次:

df.write.(...).option("header", "false").csv(....)
df.take(1).option("header", "true").csv() // as far as I remember, someone had problems with saving DataFrame without rows -> you must write at least one row and then manually cut this row using normal Java or Python file API

或者您可以使用header = true编写一次,然后手动剪切标头并使用普通Java API将其放在新文件中

答案 1 :(得分:0)

数据,没有标题:

df.to_csv("filename.csv", header=False)

标题,没有数据:

df_new = pd.DataFrame(data=None, columns=df_old.columns) # data=None makes sure no rows are copied to the new dataframe
df_new.to_csv("filename.csv")
相关问题