Как открыть файл CSV в R, когда R говорит "нет такого файла или каталога"? - PullRequest
21 голосов
/ 06 апреля 2011

У меня есть файл Excel, который я хочу открыть в R. Я попробовал обе эти команды после сохранения файла 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")

Ответы [ 12 ]

35 голосов
/ 06 апреля 2011

Чтобы выбросить другую опцию, почему бы не установить рабочий каталог (предпочтительно с помощью скрипта) на рабочий стол, используя setwd('C:\John\Desktop'), а затем прочитать файлы, просто используя имена файлов

15 голосов
/ 06 апреля 2011

Попробуйте

f <- file.choose()

, чтобы выбрать файл в интерактивном режиме и сохранить имя в f.

Затем выполните read.csv для сохраненного имени файла

d <- read.csv(f)
12 голосов
/ 06 апреля 2011

Похоже, у вас просто проблема с путем. Укажите полный путь, если вы используете обратную косую черту, они должны быть экранированы: "C:\\folder\\folder\\Desktop\\file.csv" или "C:/folder/folder/Desktop/file.csv".

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

Также может быть разумно избегать пробелов и символов в именах файлов, хотя я вполне уверен, что с пробелами все в порядке.

7 голосов
/ 28 мая 2016

Мне нужно было объединить ответы Майасауры и Свуна, чтобы заставить его работать: используя setwd и избегая всех слешей и пробелов.

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

Это решило проблему для меня.

6 голосов
/ 06 апреля 2011

Вот один из способов сделать это.Он использует способность 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 голосов
/ 06 апреля 2011
  1. Сохранить как в Excel, файл будет открыт и заблокирован, поэтому вы не сможете его открыть.Закройте файл Excel или вы не сможете использовать его в R.
  2. Укажите полный путь и удалите обратную косую черту read.csv("c:\\users\\JoeUser\\Desktop\\JoesData.csv")
1 голос
/ 07 апреля 2011

Другим способом чтения Excel, включая новый формат xlsx, может быть пакет speedR (https://r -forge.r-project.org / projects / speedr /).Это импортер интерактивных и визуальных данных.Помимо импорта вы можете фильтровать (подмножество) существующие объекты из рабочей области R.

0 голосов
/ 26 июня 2018

это работа для меня, доступ к данным из корня.используйте двойную косую черту для доступа к адресу.

dataset = read.csv('C:\\Users\\Desktop\\Machine Learning\\Data.csv')
0 голосов
/ 03 февраля 2018

Моя проблема была очень простой, рабочий каталог не был каталогом «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!
0 голосов
/ 01 октября 2015

У меня просто была эта проблема, и я сначала переключился на другой каталог, а затем снова переключился, и проблема была исправлена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...