R 从一个CSV保存和加载多个数据帧

R 从一个CSV保存和加载多个数据帧,r,csv,dataframe,R,Csv,Dataframe,如何将3个不同维度的数据帧保存到一个csv中,以便随后在3个不同的数据帧中加载它们 例如 或者以更优雅的方式 write.csv(rbind(A, B, C), "di2.csv") 如何将此CSV加载到3个数据帧,A、B和C?这对我来说很有效: save(A_table, B_table, C_table, file="temp.Rdata") load("temp.Rdata") 如注释中所述,如果您的目的只是稍后将它们读回R,那么您可以使用save/load 另一个简单的解决方案是d

如何将3个不同维度的数据帧保存到一个csv中,以便随后在3个不同的数据帧中加载它们

例如

或者以更优雅的方式

write.csv(rbind(A, B, C), "di2.csv")
如何将此
CSV
加载到3个数据帧,A、B和C?

这对我来说很有效:

save(A_table, B_table, C_table, file="temp.Rdata") 
load("temp.Rdata")

如注释中所述,如果您的目的只是稍后将它们读回R,那么您可以使用save/load

另一个简单的解决方案是dump/source:

A <- B <- C <- BOD # test input
dump(c("A", "B", "C"))

# read back
source("dumpdata.R")

请注意,这个问题与

R如何知道将哪些行放入哪个data.frame之间有一些相似之处?因为您只编写了一个文件,所以最容易将其读入一个data.frame并根据需要拆分。否则,如果您真的需要,您可以使用
skip=
nrows=
的组合来读取文件中的某些行(但不知何故,您必须提前知道拆分需要发生在何处)。很容易猜测,您需要传递某种信息才能在以后加载它。如果以后我可以安全地加载这些数据帧,您能建议如何保存这些数据帧吗?如果您不需要CSV格式的数据帧,只需要稍后将其重新加载到R中,请使用
save()/load()
将多个R对象保存到一个文件中。是否可以在以后将保存的R对象转换为CSV?请在@MrFlick提供一个示例以接受您的答案:)帮助页面提供了示例。将data.frame加载回R后,可以正常使用
write.csv
A <- B <- C <- BOD # test input
dump(c("A", "B", "C"))

# read back
source("dumpdata.R")
A <- B <- C <- BOD # test inputs

# write data frames to a single file
con <- file("out.csv", "w")
for(el in list(A, B, C)) {
   write.csv(el, con, row.names = FALSE)
   writeLines("", con)
}
close(con)

# read data.frames from file into a list L
Lines <- readLines("out.csv")
en <- which(Lines == "")
st <- c(1, head(en, -1))
L <- Map(function(st, en) read.csv(text = Lines[st:en]), st, en)