【问题标题】:How to write a pyspark dataframe with commas within a field in a csv file如何在 csv 文件的字段中使用逗号编写 pyspark 数据帧
【发布时间】:2021-10-02 20:58:30
【问题描述】:

我有一个 Pyspark 数据框,其中一个字段中有逗号。 样本数据:

+--------+------------------------------------------------------------------------------------+
|id      |reason                                                                              |
+--------+------------------------------------------------------------------------------------+
|123-8aab|Request for the added "Hello Ruth, How are, you, doing and Other" abc. Thanks!      |
|125-5afs|Hi Prachi, I added an "XYZA", like josa.coam, row. "Uid to be eligible" for clarity.|
+--------+------------------------------------------------------------------------------------+

当我在 csv 中编写此内容时,数据会溢出到下一列并且未正确表示。我用来写入数据和输出的代码:

df_csv.repartition(1).write.format('csv').option("header", "true").save(
        "s3://{}/report-csv".format(bucket_name), mode='overwrite')

数据在 csv 中的显示方式:

任何帮助将不胜感激。 TIA。

注意:我认为如果该字段只有逗号,它的导出正确,但引号和逗号的组合是导致问题的原因。

【问题讨论】:

    标签: apache-spark pyspark apache-spark-sql export-to-csv


    【解决方案1】:

    对我有用的是-->

    df_csv.repartition(1).write.format('csv').option("header", "true").option("quote", "\"").option("escape", "\"").save("s3://{}/report-csv".format(bucket_name), mode='overwrite')
    

    这篇文章更详细的解释: Reading csv files with quoted fields containing embedded commas

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-13
      • 2013-12-02
      • 1970-01-01
      • 2016-12-01
      • 2020-06-23
      • 2014-10-22
      • 1970-01-01
      • 2019-06-19
      相关资源
      最近更新 更多