如何在pyspark中读取具有不同架构的多个csv文件?

时间:2019-07-09 17:12:07

标签: csv pyspark

我在给定文件夹的子文件夹中保存着不同的csv文件,其中一些具有一种格式,而另一些在列名称中具有另一种格式。

april_df = spark.read.option("header", True).option("inferSchema", True).csv('/mnt/range/2018_04_28_00_11_11/')

以上命令仅引用一种格式,而忽略另一种格式。像镶木地板这样的参数中有什么快速方法吗?

某些文件的格式如下:

id ,f_facing ,l_facing ,r_facing ,remark

其他人是

id, f_f, l_f ,r_f ,remark

但是将来可能会丢失一些列,因此需要一种可靠的方法来处理此问题。

1 个答案:

答案 0 :(得分:0)

不是。要么在管道中用空值填充该列,要么在导入文件之前必须指定架构。但是,如果您了解将来可能会缺少哪些列,则可以创建一个方案,其中基于df.columns的长度来指定架构,尽管看起来很乏味。