Apache spark 如何在pyspark中将嵌套dict转换为数据帧。?
我有一个像下面这样的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
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')
非常感谢你!非常感谢你!