簡體   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