Apache spark 如何在pyspark中将嵌套dict转换为数据帧。?

Apache spark 如何在pyspark中将嵌套dict转换为数据帧。?,apache-spark,pyspark,apache-spark-sql,Apache Spark,Pyspark,Apache Spark Sql,我有一个像下面这样的dict对象 data_dict={1016070000000: [[15245438, 1198], [53273831, 1198]], 10160700000201: [53273831, 1197]} 我想将其转换为数据帧,如下所示 ID cola colb 1016070000000 15245438 1198 1016070000000 53273831 1198 10160700000201 532

我有一个像下面这样的dict对象

data_dict={1016070000000: [[15245438, 1198], [53273831, 1198]], 10160700000201: [53273831, 1197]}
我想将其转换为数据帧,如下所示

   ID            cola       colb
1016070000000   15245438    1198
1016070000000   53273831    1198
10160700000201  53273831    1197
我试着这样改变信仰

spark.createDataFrame(data_dict.items()).show()
但这给了我错误。
您能告诉我如何轻松地将此dict转换为数据帧吗?

将嵌套dict转换为嵌套列表,如下所示:

data_dict = {
    1016070000000: [[15245438, 1198], [53273831, 1198]],
    10160700000201: [53273831, 1197]
}
data = []
for k, v in data_dict.items():
    if isinstance(v[0], list):
        for row in v:
            data.append([k,row[0],row[1]])
    else:
        data.append([k,v[0],v[1]])

df = spark.createDataFrame(data).toDF('ID', 'cola', 'colb')

将嵌套的dict转换为嵌套列表,如下所示:

data_dict = {
    1016070000000: [[15245438, 1198], [53273831, 1198]],
    10160700000201: [53273831, 1197]
}
data = []
for k, v in data_dict.items():
    if isinstance(v[0], list):
        for row in v:
            data.append([k,row[0],row[1]])
    else:
        data.append([k,v[0],v[1]])

df = spark.createDataFrame(data).toDF('ID', 'cola', 'colb')

非常感谢你!非常感谢你!