我有一个我需要加入的数据框列表:
我目前的方法很丑陋
testdf1
.join(testdf2, Seq("uuid","datestr"), "outer")
.join(testdf3, Seq("uuid","datestr"), "outer")
.join(testdf4, Seq("uuid","datestr"), "outer")
.join(testdf5, Seq("uuid","datestr"), "outer")
.join(testdf6, Seq("uuid","datestr"), "outer")
.join(testdf7, Seq("uuid","datestr"), "outer")
给定一系列数据帧,是否有办法应用相同的操作
Seq(testdf1,testdf2,testdf3,testdf4,testdf5,testdf6,testdf7)
如何编写一个连接它们的通用函数?
答案 0 :(得分:1)
鉴于
val dataframes = Seq(testdf1,testdf2,testdf3,testdf4,testdf5,testdf6,testdf7)
您可以使用reduceLeft
val joinedDF = dataframes.reduceLeft((df1, df2) =>
df1.join(df2, Seq("uuid", "datestr"), "outer")
)