我尝试将R中的数据导出到csv文件,尽管我尝试做得很简单,但我总是收到相同的错误消息。示例:
我创建了一个简单的数据矢量来导出
x <- c(1,3,4,3,5,7,5,8,2,5,7)
我尝试导出:
write.csv(x,file='whatever.csv')
我得到一个错误:
error in file(file ifelse (append a w )) cannot open the connection
In addition: Warning message: In file(file, ifelse(append, "a", "w")) :
cannot open file 'whatever.csv': Permission denied
我该如何解决这个问题?
8条答案
按热度按时间e5nqia271#
我今天遇到了同样的问题,我知道我对该文件夹有完全权限。对我有效的方法是给它绝对路径。
第一个月
py49o6xq2#
如果你不指定文件名(例如C:/temp.csv),只提供文件路径,write.csv和write_csv都会弹出相同的错误。
zzoitvuj3#
我今天得到了这个错误,并通过授予每个人对文件夹的写权限来修复它。
步骤:在您的PC上找到该文件夹,右键单击并选择属性,查找“安全”选项卡并编辑所有权限,以包括“写入”
vbkedwbf4#
我今天得到这个错误是因为我试图重写的文件在另一个程序中打开了。在我关闭它之后,问题解决了。
bf1o4zei5#
相关:我试图将csv保存到一个相对路径,这是我在Windows中增量构建的,但在我的情况下,问题实际上不是错误,而是我的误解-在以下代码中:
path.expand("~/MyHomeSubDir")
被Map到"C:/Users/my.username/Documents/MyHomeSubDir"
而不是"C:/Users/my.username/MyHomeSubDir"
。在安装R时搜索是否是一些错误的配置,我发现不同Windows版本中的“home dir”确实是
"C:/Users/my.username/Documents/"
(而不是"C:/Users/my.username"
):当您将包含不存在的子目录的路径传递给
utils::csv.write
时,错误是类似的(* 只有不打开文件的原因 * 不同 * -cannot open file 'C:/Users/my.username/MyHomeSubDir/hflights.csv': No such file or directory
)。eoigrqb66#
我只是在自己想弄清楚的时候偶然发现了这个问题。我有几次弹出了完全相同的错误信息:
在四处搜索并没有发现任何对我有效的东西之后,我重新启动了R,收到了同样的消息,但也收到了一个新的错误:
我打开我的文件资源管理器,试图在Excel中打开.csv,它通知我它被另一个用户锁定了(其他人在他们的计算机上打开了该文件)。因此,如果像已经建议的那样访问该目录没有问题,请尝试在Excel中打开它,看看这是否可能是问题所在。
p5fdfcr17#
尝试了上述所有方法,但仍然不起作用。唯一的方法是禁用防病毒,在这种情况下AVAST。
ss2ws0br8#
第一部分是检查工作目录并确保您对该目录具有写访问权限。您可以使用
getwd()
进行检查。我可以通过尝试写入只读目录来重现您的错误。要将工作目录设置为其他具有读访问权限的目录,可以输入
setwd("H:/foo")
。一旦您具有写访问权限,write.csv(x,file='whatever.csv')
就可以工作了。