Pyspark 将双引号写入 csv 文件的选项无法正常工作

问题描述 投票:0回答:1

我正在尝试写入 csv 文件,其中我希望字段用双引号分隔,并以

|
作为分隔符,但无法正常工作。问题是我有几个双引号值,例如
"Nordenham "
,我想将其按原样写入 csv 文件中。

例如下面是我的输出:

|"""Nordenham """|"E"|"W"

我也想读取的 csv 文件的预期输出应该是:

|"Nordenham "|"E"|"W"

下面是我的代码:

df_repartitioned.write.format("csv") \
        .option("compression", "gzip") \
        .option("header", "true") \
        .option("delimiter", "|") \
        .option("ignoreLeadingWhiteSpace", "true") \
        .option("ignoreTrailingWhiteSpace","true") \
        .option("treatEmptyValuesAsNulls", "true") \
        .option("nullValue", "null") \
        .option("emptyValue", "null") \
        .option("quoteAll", true) \
        .option("escape", "\"") \
        .save(output_path)

我不确定在某些情况下双引号内的值可以有带有更多空格的双引号值,例如

"Nordenham   "
" Nordenham "
。我不知道在写入 csv 文件时如何处理它。

dataframe scala csv apache-spark
1个回答
0
投票

Csv 的设计方式是,如果您将某些内容放入其中,您将得到完全相同的内容。因此,如果您将

"x"
放入其中,您可能会期望得到准确的结果,并且引号字符完好无损。

所以,如果你想从你的价值观中剥离

"
,你需要自己做。

© www.soinside.com 2019 - 2024. All rights reserved.