R 如何将多个数据帧导出到CSV?

R 如何将多个数据帧导出到CSV?,r,csv,export,R,Csv,Export,情况:我有几个数据帧,我想作为CSV文件导出到工作目录中进行进一步处理 目标:使用单个功能(批量导出)将数据帧集合作为csv文件从工作区导出到工作目录 详细信息: 我的问题不是更改数据帧的内容,因此您可以使用R提供的任何示例数据进行复制 我用于导出单个数据帧的函数是 csvExport <- function(data, enc = 'utf8'){ name <- paste(deparse(substitute(data)), "csv", sep=".") co

情况:我有几个数据帧,我想作为CSV文件导出到工作目录中进行进一步处理

目标:使用单个功能(批量导出)将数据帧集合作为csv文件从工作区导出到工作目录

详细信息

我的问题不是更改数据帧的内容,因此您可以使用R提供的任何示例数据进行复制

我用于导出单个数据帧的函数是

csvExport <- function(data, enc = 'utf8'){
    name <- paste(deparse(substitute(data)), "csv", sep=".")
    con <- file(name, encoding = enc)
    write.csv(data, file = con, row.names=FALSE, quote = TRUE, sep = ";")
    text<-"exported!"
    print(paste(name, text, sep=" "))
}

csvExport您可以使用
mget
将工作区中的data.frames转换为data.frames列表,然后使用
lappy
进行循环

list_df <- mget(ls()[1:20])

lapply(seq_along(list_df),
       function(i) write.table(list_df[[i]], 
                               paste0(names(list_df)[i], ".csv"),
                               row.names = FALSE, quote = TRUE, 
                               sep = ";", dec = "."))

list\u df您可以使用
mget
将工作区中的data.frames转换为data.frames列表,然后使用
lappy
进行循环

list_df <- mget(ls()[1:20])

lapply(seq_along(list_df),
       function(i) write.table(list_df[[i]], 
                               paste0(names(list_df)[i], ".csv"),
                               row.names = FALSE, quote = TRUE, 
                               sep = ";", dec = "."))

list\u dfqdap
package有这样一个功能:
mscv\u w
。开发版本是您所需要的,可以在此处下载(按照说明):

所以类似这样的方法是有效的:

mcsv_w(mtcars, CO2, dir="foo")

如果您对函数的工作方式更感兴趣,请参阅源代码:

qdap
软件包就是这样一个函数:
mscv\u w
。开发版本是您所需要的,可以在此处下载(按照说明):

所以类似这样的方法是有效的:

mcsv_w(mtcars, CO2, dir="foo")

如果您对函数的工作方式更感兴趣的是源代码:

您可能需要重新编写
csvExport
函数,以便
data
参数是一个字符,这很可能是您首先应该做的<代码>获取将非常有用。名称将始终为i.csv;乔兰:这解决了我的问题,谢谢。也许您可以将其转换为答案。您可能需要重新编写
csvExport
函数,以便
data
参数是一个字符,这实际上是您首先应该做的,最有可能的<代码>获取将非常有用。名称将始终为i.csv;乔兰:这解决了我的问题,谢谢。也许你可以把它变成一个答案。