Как открыть файл CSV в R, когда R говорит "нет такого файла или каталога"?
У меня есть файл 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")
16 ответов
Чтобы выбросить другой вариант, почему бы не установить рабочий каталог (желательно через скрипт) на рабочий стол, используя 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);
Дайте мне знать, если это работает.
- Сохранить как в Excel будет держать файл открытым и заблокировать его, чтобы вы не могли открыть его. Закройте файл Excel, иначе вы не сможете использовать его в R.
- Дайте полный путь и избегайте обратной косой черты
read.csv("c:\\users\\JoeUser\\Desktop\\JoesData.csv")
Я испытал, что эта ошибка возникает, когда вы перемещаете файл Excel в место назначения, отличное от того, где находится ваш файл r, или когда вы перемещаете файл r в место назначения, отличное от того, где находится ваш файл Excel.
Хорошая практика:
- Храните файлы.r и.csv в одном каталоге.
- откройте файл.r, не попав в его каталог, вместо того, чтобы открывать файл r с помощью параметра открытия файла rstuio.
У вас также есть опция импорта набора данных в блоке среды, просто щелкните здесь и установите необходимые пакеты и в следующий раз используйте эту опцию для чтения наборов данных. Вы больше не получите эту ошибку. Я также ценю предоставленные выше ответы.
Другим способом чтения Excel, включая новый формат xlsx, может быть пакет speedR (https://r-forge.r-project.org/projects/speedr/). Это импортер интерактивных и визуальных данных. Помимо импорта вы можете фильтровать (подмножество) существующие объекты из рабочей области R.
Моя проблема была очень простой, рабочий каталог не был каталогом "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!
У меня просто была эта проблема, и я сначала переключился на другой каталог, а затем снова переключился, и проблема была исправлена.
Эта работа для меня, доступ к данным из корня. используйте двойную косую черту для доступа к адресу.
dataset = read.csv('C:\\Users\\Desktop\\Machine Learning\\Data.csv')
Вы можете добавить абсолютный путь к файлу
heisenberg <- read.csv(file="C:/Users/tiago/Desktop/sample_100000.csv")
Если действительно хотите запустить что-то вроде
heisenberg <- read.csv(file="sample_100000.csv")
тогда вам придется изменить рабочий каталог, чтобы он соответствовал месту, где находится файл .CSV. Подробнее об этом здесь .
MAC OS Это случилось и со мной. Я просто выбрал из панели инструментов R MISC, а затем выбрал Изменить рабочий каталог. Я смог выбрать каталог, в котором был сохранен файл.csv. Когда я вернулся в командную строку и набрал getwd(), полный каталог был обновлен и исправлен, и функция read.csv наконец-то сработала.
У меня была такая же проблема, и когда я проверил свойства файла в проводнике, он показывает мне следующее сообщение:
"Безопасность: этот файл пришел с другого компьютера и может быть заблокирован для защиты этого компьютера"
Вы нажимаете кнопку "Разблокировать" и... вы можете без проблем обращаться к файлу из R, просто используя функцию read.csv() и из каталога, указанного в качестве вашего рабочего каталога, даже если он не совпадает с каталог файла, к которому вы обращаетесь.
В моем случае эта проблема возникла из-за неправильного написания строчных букв "c:" вместо прописных "C:" в пути. Я исправил орфографию, и проблема исчезла.
Пожалуйста, проверьте, есть ли у имени файла расширение, например:
abc.csv
если да, удалите
.csv
расширение.задавать
wd
в папку, содержащую файл(~)
data<-read.csv("abc.csv")
Ваши данные были прочитаны объектом данных