如何使用spark dataframe在csv文件中以双引号获取所有记录?

如何使用spark dataframe在csv文件中以双引号获取所有记录?,dataframe,csv,pyspark,Dataframe,Csv,Pyspark,我试图将spark dataframe保存到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 理想产出: So

我试图将spark dataframe保存到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)

您只需使用
df.write.csv
,将
quoteAll
设置为
True

df4.repartition(1).write.csv(Output_Path_ASPAC, quote='"', header=True, 
                             quoteAll=True, sep='|', mode='overwrite')
使用您的示例数据生成:

"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"

您只需使用
df.write.csv
,将
quoteAll
设置为
True

df4.repartition(1).write.csv(Output_Path_ASPAC, quote='"', header=True, 
                             quoteAll=True, sep='|', mode='overwrite')
使用您的示例数据生成:

"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"

您的Spark版本是什么?@ernest_k版本2.4.5您的Spark版本是什么?@ernest_k版本2.4.5谢谢您的建议。我们可以不使用双引号保存标题吗?只有数据将以双引号保存。谢谢您的建议。我们可以不使用双引号保存标题吗?只有数据将以双引号保存。