需要将一个DataFrame写入csv文件,文件名根据某个迭代索引(idx)而变化:
for (idx <- 1 to 3)
// do some operation and generate a df that depends on idx
...
df.coalesce(1).write.csv("/temp/path/file#.csv")
#应该随着idx的变化而变化(换句话说,文件名应该顺序为file1.csv,file2.csv,file3.csv,因为迭代进行)。这似乎是一个非常普遍的问题,但我还没有在Scala中找到一个明确的解决方案。谢谢!
答案 0 :(得分:1)
经典的方式是:
for (idx <- 1 to 3)
// do some operation and generate a df that depends on idx
...
df.coalesce(1).write.csv("/temp/path/file_" + idx + ".csv")
更好的新方式是
for (idx <- 1 to 3)
// do some operation and generate a df that depends on idx
...
df.coalesce(1).write.csv(s"/temp/path/file_${idx}.csv")