我尝试读取带有hasNext
且其中包含以下行的CSV文件:
pyspark
我的阅读代码:
2100,"Apple Mac Air A1465 11.6"" Laptop - MD/B (Apr, 2014)",Apple MacBook
df = spark.read.options(header='true', inferschema='true').csv(file_path)
在中间拆分第二个组件:
df
意味着第二个原始组件被拆分为两个组件。 我尝试了其他几种语法(数据块,sql上下文等),但是所有语法都相同。
这是什么原因?我该如何解决?
答案 0 :(得分:2)
对于这种情况,spark提供了一个很好的解决方案,即转义选项。 只需在选项中添加escape ='“'。您将获得3个组件,如下所示。
df= spark.read.options(header='true', inferschema='true',escape='"').csv("file:///home/srikarthik/av.txt")
答案 1 :(得分:0)
之所以会这样,是因为文件分隔符是逗号(',')。 因此,编写一个代码,使其在“和”
之间时会忽略逗号。否则,第二种解决方案-您按原样读取文件而没有列标题。然后在打赌“”时用* /其他任何标点符号替换逗号。然后保存文件,然后使用逗号作为分隔符读取文件即可>