繁体   English   中英

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

[英]How to open CSV file in R when R says "no such file or directory"?

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

read.table() 或 read.csv()

我认为部分问题在于文件所在的位置。 我把它保存在桌面上。 我在这里错过了什么?

这是 R output

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")

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

尝试

f <- file.choose()

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

然后在保存的文件名上运行read.csv

d <- read.csv(f)

听起来您只是路径有问题。 包括完整路径,如果您使用反斜杠,则需要对其进行转义: "C:\\folder\\folder\\Desktop\\file.csv""C:/folder/folder/Desktop/file.csv"

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

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

我必须结合 Maiasaura 和 Svun 的答案才能让它工作:使用 setwd 并转义所有的斜线和空格。

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

这为我解决了这个问题。

这是一种方法。 它使用 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);

让我知道这个是否奏效。

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

我经历过,当您将 excel 文件移动到 r 文件所在位置以外的目标位置或将 r 文件移动到 excel 文件所在位置以外的目标位置时,会发生此错误。

良好做法:

  1. 将 .r 和 .csv 文件保存在同一目录中。
  2. 打开你的 .r 文件进入它的目录,而不是从 rstuio 的打开文件选项打开 r 文件。

您还可以在Environment Block导入 Dataset 选项,只需单击此处并安装所需的包,然后下次使用此选项读取数据集。 您不会再收到此错误。 我也很欣赏上面提供的答案。

在此处输入图像描述

我的问题很简单,工作目录不是文件运行时打印的“源”目录。 要解决此问题,您可以使用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!

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

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

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

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

您单击“取消阻止”按钮,然后......您可以毫无问题地从 R 访问文件,只需使用 read.csv() 函数并从指定为您的工作目录的目录,即使与您正在访问的文件的目录。

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

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

dataset = read.csv('C:\\Users\\Desktop\\Machine Learning\\Data.csv')
  1. 请检查文件名是否有扩展名,例如:

     abc.csv

    如果是这样,请删除.csv扩展名。

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

  3. data<-read.csv("abc.csv")

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

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

您可以添加文件的绝对路径

heisenberg <- read.csv(file="C:/Users/tiago/Desktop/sample_100000.csv")

如果真的想运行类似

heisenberg <- read.csv(file="sample_100000.csv")

那么您必须更改工作目录以匹配 .CSV 文件所在的位置。 更多信息请点击此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM