我在给定文件夹的子文件夹中保存着不同的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
但是将来可能会丢失一些列,因此需要一种可靠的方法来处理此问题。
答案 0 :(得分:0)
不是。要么在管道中用空值填充该列,要么在导入文件之前必须指定架构。但是,如果您了解将来可能会缺少哪些列,则可以创建一个方案,其中基于df.columns
的长度来指定架构,尽管看起来很乏味。