当R说“没有这样的文件或目录”时,如何在R中打开CSV文件?

时间:2011-04-06 15:22:56

标签: r

我有一个我想在R中打开的excel文件。在将excel文件保存为csv文件或文本文件后,我尝试了这两个命令。

read.table()或read.csv()

我认为问题的一部分是文件所在的位置。我把它保存在桌面上。我在这里缺少什么?

这是R输出

In file(file, "rt") :
  cannot open file 'Rtrial.csv': No such file or directory
> help.search("read.csv")
> read.csv("Rtrial.csv")
Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") :
  cannot open file 'Rtrial.csv': No such file or directory
> read.table("tab")

15 个答案:

答案 0 :(得分:34)

要抛出另一个选项,为什么不使用setwd('C:\John\Desktop')将工作目录(最好通过脚本)设置到桌面,然后使用文件名读取文件

答案 1 :(得分:15)

尝试

f <- file.choose()

以交互方式选择文件并将名称保存在f

然后在保存的文件名

上运行read.csv
d <- read.csv(f)

答案 2 :(得分:12)

声音就像你刚刚遇到路径问题一样。包含完整路径,如果您使用反斜杠,则需要对其进行转义:"C:\\folder\\folder\\Desktop\\file.csv""C:/folder/folder/Desktop/file.csv"

myfile = read.csv("C:/folder/folder/Desktop/file.csv")  # or read.table()

避免使用文件名中的空格和符号也是明智的,尽管我相当确定空格是可以的。

答案 3 :(得分:6)

这是一种方法。它使用R的能力构建基于平台的文件路径,因此可以在Mac OS和Windows上运行。此外,您不需要将xls文件转换为csv,因为有许多R包可以帮助您直接读取xls(例如gdata包)。

# get user's home directory
home = setwd(Sys.getenv("HOME"));

# construct path to file
fpath = file.path(home, "Desktop", "RTrial.xls");

# load gdata library to read xls files
library(gdata);

# read xls file
Rtrial = read.xls(fpath);

让我知道这是否有效。

答案 4 :(得分:6)

我必须将Maiasaura和Svun的答案结合起来才能使其工作:使用setwd并转义所有斜杠和空格。

setwd('C:\\Users\\firstname\ lastname\\Desktop\\folder1\\folder2\\folder3')
data = read.csv("file.csv")
data

这解决了我的问题。

答案 5 :(得分:4)

  1. 另存为excel将保持文件打开并锁定,以便您无法打开它。关闭excel文件,否则您将无法在R中使用它。
  2. 提供完整路径并转义反斜杠read.csv("c:\\users\\JoeUser\\Desktop\\JoesData.csv")

答案 6 :(得分:1)

另一种阅读Excel的方法,包括新格式xlsx,可以是包speedR(https://r-forge.r-project.org/projects/speedr/)。它是一个交互式可视数据导入程序。除了导入,您还可以从R工作区过滤(子集)现有对象。

答案 7 :(得分:1)

当您将excel文件移动到目标文件而不是r文件所在的位置时,或者将r文件移动到目标文件而不是excel文件所在的位置时,我都经历了此错误。

良好做法:

  1. 将.r和.csv文件保留在同一目录中。
  2. 通过进入目录来打开.r文件,而不是通过rstuio的打开文件选项打开r文件。

您还可以在 Environment Block 中找到 import Dataset选项,只需单击此处并安装所需的软件包即可;下次使用此选项读取数据集。您将不会再收到此错误。 我也很感谢上面提供的答案。

enter image description here

答案 8 :(得分:0)

MAC OS它也发生在我身上。我只是从R工具栏MISC中选择,然后选择Change Working Directory。我能够选择保存.csv文件的目录。当我回到命令行并输入getwd()时,完整目录已更新并且正确,read.csv函数最终起作用。

答案 9 :(得分:0)

我遇到了同样的问题,当我在文件资源管理器上检查文件的属性时,它会显示下一条消息:

“安全性:此文件来自另一台计算机,可能会被阻止以帮助保护此计算机”

您单击“取消阻止”按钮并且...您可以从R访问该文件而没有任何问题,只需使用read.csv()函数并从指定为您的工作目录的目录中,即使不是与您要访问的文件目录相同。

答案 10 :(得分:0)

我刚遇到这个问题,我首先切换到另一个目录,然后切换回来,问题得到解决。

答案 11 :(得分:0)

我的问题很简单,工作目录不是文件运行时打印的“Source”目录。要解决此问题,您可以使用getwd()setwd()来获取相对链接,或者在打开csv时使用完整路径。

print(getwd()) # Where does the code think it is?
setwd("~/Documents") # Where do I want my code to be?
dat = read.csv("~/Documents/Data Visualization/expDataAnalysis/one/ac1_survey.csv") #just make it work!

答案 12 :(得分:0)

这对我有用,从根访问数据。使用双斜杠访问地址。

dataset = read.csv('C:\\Users\\Desktop\\Machine Learning\\Data.csv')

答案 13 :(得分:0)

  1. 请检查文件名是否具有扩展名,例如:

    abc.csv
    

    如果要删除.csv扩展名。

  2. wd设置为包含文件(~)

  3. 的文件夹
  4. data<-read.csv("abc.csv")

您的数据已被读取为数据对象

答案 14 :(得分:0)

在我的情况下,此问题是由拼写错误引起的,路径中的小写字母“ c:”而不是大写字母“ C:”。我纠正了拼写,问题消失了。