阅读CSV时是否可以选择从第2行或以下行开始?

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

我正在使用以下示例代码将一堆CSV文件读取到数据框中。

val df = spark.read.format("csv")
   .option("sep","|")
   .option("inferSchema","true")
   .option("header","false")
   .load("mnt/rawdata/corp/ABC*.gz")

我希望有一种方法可以从第2行或以下开始,因为第1行包含有关这些文件的一些基本元数据,并且第一行具有4个竖线字符,因此Spark认为文件有4列,但实际上实际数据中有超过100列。

我尝试使用inferSchema和标头,但无法进行任何操作。

azure apache-spark pyspark databricks
2个回答
1
投票

如果CSV中的第一行与实际的列数和名称不匹配,则可能需要手动定义架构,然后尝试以下组合:


1
投票

您是对的!您需要定义一个自定义模式!我最终选择了这个。

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