从字典列表创建数据框

时间:2021-03-16 10:18:01

标签: python pandas dataframe databricks

我想从以下列表中创建 2 个数据框:-

results = [
         {'type': 'check_datatype',
          'kwargs': {'table': 'cars', 'columns': ['car_id','index'], 'd_type': 'str'},
          'datasource_path': '/cars_dataset_ok/',
          'Result': False},
        {'type': 'check_string_consistency',
          'kwargs': {'table': 'cars', 'columns': ['car_id'], 'string_length': 6},
          'datasource_path': '/cars_dataset_ok/',
          'Result': False}
        ]
    
    
    
    

第一个数据框应该给出类型,id(它将是每个类型的增量id和唯一的)

第二个数据框应提供每种类型的参数详细信息,例如对于'check_datatype',

第一个数据帧应该有这样的输出 -

类型 |身份证

check_datatype,1

check_string_consistency,2
    

第二个数据帧应该有这样的输出 -

id|key|value|index

1,table,cars,1

1,columns,car_id,1

1,columns,index,2

1,dtype,str,1

2,table,cars,1

2,columns,car_id,1

2,string_length,6,1
    
    

不知何故,我能够使用以下方法创建第一个数据帧,但无法创建第二个数据帧 -

from pyspark.sql import functions as F
from pyspark.sql import Window
results = [[elt['type']] for elt in results]
checkColumns = ['type']
checkDF = spark.createDataFrame(data=results, schema=checkColumns)   
checkDF=checkDF.withColumn("id",F.row_number().over(Window.orderBy(F.monotonically_increasing_id())))
checkDF.printSchema()
checkDF.show(truncate=False)

0 个答案:

没有答案