pyspark 使用Pandas/Python将 Dataframe 写入csv文件,并使用多字符分隔符

pu82cl6c  于 2022-11-21  发布在  Spark
关注(0)|答案(2)|浏览(296)

任何人都可以请帮我保存一个Pyspark数据框为csv文件与多字符分隔符使用Pandas/Python。
做了一项研究,发现Pypspark/Pandas的to_csv只能使用1个字符分隔符,并且没有提供多字符分隔符作为分隔符的选项。
dataframe.to:分隔符必须为1个字符字符串
链接-https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html
请让我知道,如果任何人已经实现了这种情况。

uajslkp6

uajslkp61#

pandas to_csv函数似乎只允许使用单字符定界符/分隔符。
因此,请使用numpy-savetxt。

np.savetxt(file.dat, chunk_data.values, delimiter='~|', fmt='%s',encoding='utf-8')

然后您可以将其转换为csv

yduiuuwa

yduiuuwa2#

在pyspark中,可以使用option("delimiter", "@@")作为多字符分隔符:

df = spark.createDataFrame([('Ash', 25), ('Bob', 30), ('Cat', 20)], ['name', 'age'])

[Out]:
+----+---+
|name|age|
+----+---+
| Ash| 25|
| Bob| 30|
| Cat| 20|
+----+---+

df.repartition(1).write.mode("overwrite").option("header",True).option("delimiter", "@@").csv("/content/sample_data/test.csv")

[Out]:
name@@age
Ash@@25
Bob@@30
Cat@@20

相关问题