将数据写入临时文件,文件名存储在 R 环境中
Write data to a temporary file with filename stored in an R environment
我有一些数据想写入 R 中的临时 CSV 文件。
用户可以选择指定他们选择的文件名,该文件名存储在与 .GlobalEnv
分开的环境(称为 'envr')中
if (!is.null(envr$filename)) {
write.csv(df, file = paste(envr$filename, ".csv", sep = ""))
}
为了成功完成此操作,我需要创建一个临时文件,分配给用户选择的文件名。
if (!is.null(envr$filename)) {
file.name <- get("filename", envir = envr)
tempfile(fileext = ".csv")
write.csv(df, file = file.name)
}
上面的 if 语句并没有完成这项工作,因为 CSV 文件没有保存在 $TMPDIR 中。
如何轻松地将 tempfile() 集成到上面的第一个 if 语句中,而不必将其分配给变量名 (file.name)?
您可以将文件名(从 filename
环境变量获得)与会话的临时文件夹(使用 tempdir()
)连同 .csv
扩展名连接起来,因为如下:
if (!is.null(envr$filename)) {
write.csv(df, file = paste0(tempdir(), "/", get("filename", envir = envr), ".csv"))
}
如果它回答了您的问题或您是否需要任何进一步的帮助,请告诉我。
我有一些数据想写入 R 中的临时 CSV 文件。
用户可以选择指定他们选择的文件名,该文件名存储在与 .GlobalEnv
分开的环境(称为 'envr')中if (!is.null(envr$filename)) {
write.csv(df, file = paste(envr$filename, ".csv", sep = ""))
}
为了成功完成此操作,我需要创建一个临时文件,分配给用户选择的文件名。
if (!is.null(envr$filename)) {
file.name <- get("filename", envir = envr)
tempfile(fileext = ".csv")
write.csv(df, file = file.name)
}
上面的 if 语句并没有完成这项工作,因为 CSV 文件没有保存在 $TMPDIR 中。
如何轻松地将 tempfile() 集成到上面的第一个 if 语句中,而不必将其分配给变量名 (file.name)?
您可以将文件名(从 filename
环境变量获得)与会话的临时文件夹(使用 tempdir()
)连同 .csv
扩展名连接起来,因为如下:
if (!is.null(envr$filename)) {
write.csv(df, file = paste0(tempdir(), "/", get("filename", envir = envr), ".csv"))
}
如果它回答了您的问题或您是否需要任何进一步的帮助,请告诉我。