gpt4 book ai didi

R 尝试读取一个 csv,如果它不存在,则读取另一个

转载 作者:行者123 更新时间:2023-12-02 02:02:12 27 4
gpt4 key购买 nike

我有一个脚本,我希望在其中读取某个文件,但如果该文件不存在,那么我想读取另一个文件。文件每天都在变化,所以我不想手动挑选。

我目前正在使用 tryCatch 来执行此操作。基本上,尝试读取第一个文件,如果有错误则返回一个空的 df。然后有逻辑,如果表格是空白的,读入我知道存在的文件。虽然我的解决方案有效,但感觉非常笨拙,我想学习 future 的最佳实践。

当前解决方案:

df <- suppressWarnings(tryCatch({read.csv('this file will not exist on your computer', stringsAsFactors = FALSE)},
error = function(e) data.frame()
))

if(nrow(df) == 0){
df <- cars # this will be a file I know exists
}

## Continue with function using a df I know exists ##

如果不需要,我不喜欢使用 suppressWarnings,但我不喜欢不断弹出的警告(显然该文件不存在,这就是我尝试捕捉的原因)。

理想情况下,这可能是一个 3 行代码。 1)检查文件是否存在。 2)如果它确实存在,那么阅读它。 3)如果不存在,则读取我知道存在的其他文件。有什么想法吗?

最佳答案

正如@All Downhill From Here 所建议的,使用 file.exists 将检查文件是否存在于给定位置。由于 file.exists 返回一个逻辑值,您可以将其包装在 if/else block 中。

if(file.exists('data.csv')) {
data <- read.csv('data.csv')
} else {
data <- read.csv('confirm.csv')
}

关于R 尝试读取一个 csv,如果它不存在,则读取另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68867024/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com