Spark读取字符串中带有逗号的csv

huwehgph  于 2022-12-15  发布在  Spark
关注(0)|答案(2)|浏览(200)

536381,22411,珍宝购物复古红色佩斯利,10,12/1/2010 9:41,1.95,15311,英国
“536381,82567,"“航空公司休息室,金属标志”",2010年1月2日,9:41,2.1,15311,英国”
536381,21672,白色红色陶瓷抽屉旋钮,6,12/1/2010 9:41,1.25,15311,英国
这些行是csv文件中的行示例。我尝试在数据块中读取它,使用:

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

但是,由于字符串中的逗号,中间的一行和其他类似的行不能进入正确的列。我该如何解决这个问题?

lymgl2op

lymgl2op1#

将报价设置为:

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

看起来你的数据有双引号,所以当它被读取时,它会把双引号看作字符串的开始和结束。
编辑:我还假设问题出在这部分:

""AIRLINE LOUNGE,METAL SIGN""
6psbrbz9

6psbrbz92#

这不仅与Excel有关,我在将数据从源检索到Azure Synapse时遇到了同样的问题。一列中的逗号会导致进程用双引号将整个列数据括起来,包括双引号,如上面第二行所示(请参见Retrieve CSV format over https

相关问题