将 Dataframe 添加到 Dataframe 列表-pyspark

velaa5lx  于 2022-12-03  发布在  Spark
关注(0)|答案(1)|浏览(171)

我已经创建了一个 Dataframe 列表,现在想添加另一个 Dataframe ,以便以后合并此列表。

df_list = [spark.createDataFrame([("3", "4")], db_tables_schema), spark.createDataFrame([("1", "2")], db_tables_schema), spark.createDataFrame([("7", "4")], db_tables_schema)]

df_list = df_list.append([spark.createDataFrame([("7", "4")], db_tables_schema)])

#Reduce to one df
df_complete = reduce(DataFrame.union, df_list)

我以为用.append可以很容易地添加元素,但是如果我这样做了,一个“NoneType”元素就被创建了--所以基本上我的列表就不存在了。这是怎么回事?谢谢你的帮助!

gstyhher

gstyhher1#

注意,您使用的是append函数,它会将一个项目添加到列表中。此函数返回None,因此如果您将df_list.append的返回值赋给df_list,它将与以下内容相同:df_list = None。只需执行以下操作:

df_list.append(my_element)

其次,您要尝试追加一个条目列表,如果使用append执行此操作,则列表将如下所示:

my_list = [1, 2, 3]
my_list.append([4])
print(my_list)  # [1, 2, 3, [4]]
my_list.append([5, 6])
print(my_list)  # [1, 2, 3, [4], [5, 6]]

您应该改用extend

my_list = [1, 2, 3]
my_list.extend([4])
print(my_list)  # [1, 2, 3, 4]
my_list.extend([5, 6])
print(my_list)  # [1, 2, 3, 4, 5, 6]

相关问题