我有单独的头文件和正文文件。主体文件是带有自定义分隔符的csv文件。头文件是一个多行文件,每个列名都在一行中。我想了解如何读取头文件。
尝试使用多行选项和换行符作为分隔符
df = spark.read.format('text') \
.options(header='true', delimiter='\n', multiLine='true') \
.load("filenamewithpath")
我将df的第二行视为输入文件的第二行。我期望所有列都在1行中
答案 0 :(得分:0)
分别以:-
读取头文件val head = spark.read.text("****/head.txt")
读取标头并将其收集为数组。
val headers = head.as[String].collect
读取csv文件,然后将标头应用于DataFrame,如下所示:-
data.toDF(headers:_*)