我有两个数据框已保存到 csv:
library(readr)
df1 <- data.frame(time = c(10,20,30), score = c(4,5,6))
df2 <- data.frame(lane = c(200,500,400), score = c(2,3,8))
write_csv(df1, "aframe.csv")
write_csv(df2, "bframe.csv")
我会定期收集新数据,并将其附加到现有的 csv 文件中:
df3 <- data.frame(time = c(11,22,35), score = c(5,4,3))
df4 <- data.frame(lane = c(700,600,500), score = c(6,7,9))
我可以单独附加和编写它们:
write_csv(df3, "aframe.csv", append = TRUE)
write_csv(df4, "bframe.csv", append = TRUE)
如何使用一个代码块更有效地进行附加?
我尝试此操作时遇到错误:
write_csv(c(df3, df4), c("aframe.csv", "bframe.csv"), append = TRUE)
我不受
readr
的束缚。我也遇到过类似的问题write.table
。
您可以使用 purrr 的
walk2()
来迭代数据框和 csv 文件:
library(readr)
library(purrr)
df1 <- data.frame(time = c(10,20,30), score = c(4,5,6))
df2 <- data.frame(lane = c(200,500,400), score = c(2,3,8))
write_csv(df1, "aframe.csv")
write_csv(df2, "bframe.csv")
df3 <- data.frame(time = c(11,22,35), score = c(5,4,3))
df4 <- data.frame(lane = c(700,600,500), score = c(6,7,9))
walk2(
list(df3, df4),
list("aframe.csv", "bframe.csv"),
write_csv, append = TRUE
)
创建于 2024-05-03,使用 reprex v2.1.0