如何读取多行文本文件(分隔符换行符)作为其他csv数据文件的标题?

时间:2019-07-19 08:59:52

标签: apache-spark pyspark

我有单独的头文件和正文文件。主体文件是带有自定义分隔符的csv文件。头文件是一个多行文件,每个列名都在一行中。我想了解如何读取头文件。

尝试使用多行选项和换行符作为分隔符

df = spark.read.format('text') \
    .options(header='true', delimiter='\n', multiLine='true') \
    .load("filenamewithpath")

我将df的第二行视为输入文件的第二行。我期望所有列都在1行中

1 个答案:

答案 0 :(得分:0)

分别以:-

读取头文件
val head = spark.read.text("****/head.txt")

读取标头并将其收集为数组。

val headers = head.as[String].collect

读取csv文件,然后将标头应用于DataFrame,如下所示:-

data.toDF(headers:_*)