首页 > 解决方案 > Spark在字符串中使用逗号读取csv

问题描述

536381,22411,JUMBO SHOPPER VINTAGE RED PAISLEY,10,12/1/2010 9:41,1.95,15311,United Kingdom

"536381,82567,""AIRLINE LOUNGE,METAL SIGN"",2,12/1/2010 9:41,2.1,15311,United Kingdom"

536381,21672,白点红色陶瓷抽屉旋钮,6,12/1/2010 9:41,1.25,15311,United Kingdom

这些行是 csv 文件中的行示例。我正在尝试在 Databricks 中阅读它,使用:

df = spark.read.csv ('file.csv', sep=',', inferSchema = 'true', quote = '"')

但是,由于字符串中的逗号,中间的行和其他类似的行没有进入正确的列。我该如何解决?

标签: csvpysparkdelimiterdatabricks

解决方案


将报价设置为:

'""'
df = spark.read.csv('file.csv', sep=',', inferSchema = 'true', quote = '""')

看起来您的数据有双引号 - 所以当它被读取时,它会将双引号视为字符串的开头和结尾。

编辑:我还假设问题出在这部分:

""AIRLINE LOUNGE,METAL SIGN""

推荐阅读