无法将数据导出到R(write.csv)中的文件

无法将数据导出到R(write.csv)中的文件,r,export,export-to-csv,R,Export,Export To Csv,我正在尝试将R中的数据导出到csv文件,尽管我尝试这么做很简单,但始终会收到相同的错误消息。例如: 我创建了一个简单的数据向量来导出 x <- c(1,3,4,3,5,7,5,8,2,5,7) 我得到一个错误: error in file(file ifelse (append a w )) cannot open the connection In addition: Warning message: In file(file, ifelse(append, "a", "w")) :

我正在尝试将R中的数据导出到csv文件,尽管我尝试这么做很简单,但始终会收到相同的错误消息。例如:

我创建了一个简单的数据向量来导出

 x <- c(1,3,4,3,5,7,5,8,2,5,7)
我得到一个错误:

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

如何解决此问题?

第一部分是检查工作目录并确保您对该目录具有写访问权限。您可以使用
getwd()
检查这一点。我可以通过尝试写入只读目录来重现您的错误

要将工作目录设置为具有读取权限的其他目录,可以键入
setwd(“H:/foo”)

一旦您具有写访问权限,
write.csv(x,file='whatever.csv')
应该可以工作。

请检查您的代码是否包含任何变量名、逻辑T或F(TRUE或FALSE)。如果有,则无法将逻辑值缩短为t或F。

如果工作目录中已有同名文件,则会出现该错误

我只是在自己想办法的时候偶然发现了这个问题。我有几次弹出完全相同的错误消息:

Error in file(file, ifelse(append, "a", "w")) : 
  cannot open the connection
在四处搜索并没有找到任何对我有用的东西后,我重新启动了R,收到了相同的消息,但也出现了一个新错误:

In addition: Warning message:
In file(file, ifelse(append, "a", "w")) :
  cannot open file 'censoredpath.file.csv': Permission denied

我转到我的文件资源管理器,试图在Excel中打开.csv,它通知我该文件已被另一个用户锁定(其他人在其计算机上打开了该文件)。因此,如果像已经建议的那样访问目录没有问题,请尝试在Excel中打开它,看看这是否是问题所在

我今天收到了这个错误,并通过授予每个人对该文件夹的写入权限来修复它


步骤:在电脑上找到文件夹,右键单击并选择属性,查找“安全”选项卡并编辑所有文件夹的权限以包括“写入”

如果您没有指定文件名(即C:/temp.csv)并只提供文件路径,则Write.csv和Write\u csv都会弹出相同的错误

我今天收到了同样的问题,我知道我对该文件夹拥有完全权限。对我有效的是给它一条绝对路径


write.csv(data,file=“C:/project/file.csv”)

我今天遇到这个错误,因为我试图重写的文件在另一个程序中打开了。关闭后,问题解决了。

相关:我试图将csv保存到一个相对路径,该路径是我在Windows中增量构建的,但在我的情况下,问题实际上不是错误,而是我自己的误解-在以下代码中:

library(dplyr)
library(hflights)

path_to_hflights_as_csv <- 
  file.path(path.expand("~/MyHomeSubDir"),
            "hflights.csv")

write.csv(hflights, path_to_hflights_as_csv)
库(dplyr)
图书馆(hflights)

路径_到_hflights _作为_csv如果您以前导出过文件(没有问题),现在出现错误,请确保该文件未打开。在我的例子中,当我第二次尝试导出错误时,我意识到第一个文件已打开。您可以更改要导出的文件名或关闭打开的文件。

运行代码时,我没有收到错误。这似乎是一个可能的权限问题。这种错误的常见原因,尤其是在Windows上,可能是在您尝试写入文件时在另一个程序(如Excel)中打开了该文件。使用:write.csv(x,file='./where.csv')我多次将同一文件写入同一目录。这与问题中的示例有何关系?是的,我得到这个错误是因为我在写文件之前忘了创建目录。
library(dplyr)
library(hflights)

path_to_hflights_as_csv <- 
  file.path(path.expand("~/MyHomeSubDir"),
            "hflights.csv")

write.csv(hflights, path_to_hflights_as_csv)