Pyspark 动态设置spark.createDataFrame的架构

Pyspark 动态设置spark.createDataFrame的架构,pyspark,Pyspark,因此,我尝试在模式中动态设置数据的类型 我已经看到了stackoverflow上的代码schema=StructType([StructField(header[I],StringType(),True)表示范围内的I(len(header))) 但我如何将其添加到条件语句中呢 如果header在列表1中,则为IntergerType,如果在列表2中,则为DoubleType,否则为StringType,例如?一位同事为我回答了这个问题 schema = StructType([ Str

因此,我尝试在模式中动态设置数据的类型

我已经看到了stackoverflow上的代码
schema=StructType([StructField(header[I],StringType(),True)表示范围内的I(len(header)))

但我如何将其添加到条件语句中呢


如果header在列表1中,则为IntergerType,如果在列表2中,则为DoubleType,否则为StringType,例如?

一位同事为我回答了这个问题

schema = StructType([
    StructField(header[i], DateType(), True) 
      if header[i] in dateFields 
      else StructField(header[i], StringType(), True)
      for i in range(len(header))])