如何使用Spark DataFrame在CSV文件中使用双引号获取所有记录?

问题描述

我正在尝试将spark数据帧保存到csv文件中,但是我希望所有记录都用双引号引起来,但不会生成。你能帮我怎么做吗?

示例:

Source_System|Date|Market_Volume|Volume_Units|Market_Value|Value_Currency|Sales_Channel|Competitor_Name
IMS|20080628|183.0|16470.0|165653.256349|AUD|AUSTRALIA HOSPITAL|PFIZER

理想的输出:

Source_System|Date|Market_Volume|Volume_Units|Market_Value|Value_Currency|Sales_Channel|Competitor_Name
"IMS"|"20080628"|"183.0"|"16470.0"|"165653.256349"|"AUD"|"AUSTRALIA HOSPITAL"|"PFIZER"

我正在运行的代码:

df4.repartition(1).write.format('com.databricks.spark.csv').mode('overwrite').option("quoteAll",'True').save(Output_Path_ASPAC,quote = '',sep='|',header='True',nullValue=None)

解决方法

您可以将yarn设置为df.write.csv的情况下使用quoteAll

True

哪个会生成您的示例数据:

df4.repartition(1).write.csv(Output_Path_ASPAC,quote='"',header=True,quoteAll=True,sep='|',mode='overwrite')

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...