Getting error in file(file, “rt”): cannot

2020-04-17 05:13发布

问题:

I am running the following code...

#Create a list of all the files
file.list <- list.files(path="~/R/natural-language-processing/class-notes", pattern=".csv")

#Loop over file list importing them and binding them together
D1 <- do.call("rbind",lapply(file.list, read.csv, header = TRUE, stringsAsFactors = FALSE))

This is the error I get when I run do.call line above.

Error in file(file, "rt") : cannot open the connection

I've tried resetting my wd. My current getwd() is

~/R/natural-language-processing

I've looked through the other

Error in file(file, “rt”): cannot open connection

回答1:

Most likely you are trying to open files from the working directory instead of the directory in which you called list.files. Instead try

D1 <- do.call("rbind",
              lapply(paste0("~/R/natural-language-processing/class-notes/",
                            file.list),
                     read.csv, header = TRUE, stringsAsFactors = FALSE))

Alternatively, you can set the full.names argument to TRUE in list.files to get complete paths:

file.list <- list.files(path="~/R/natural-language-processing/class-notes", 
                        pattern=".csv", full.names = TRUE)


回答2:

read.csv is looking for the file names in your working directory. By changing your working directory to "C:/Users/Bob/Documents/R/natural-language-processing/class-notes", your code should work just fine.

Code:

setwd("C:/Users/Bob/Documents/R/natural-language-processing/class-notes")

Then re-run your code.



回答3:

I just spent a lot of time trying to understand what was wrong on my code too...

And it seems to be simple if you are using windows.

When you name your file "blabla.txt" then windows name it "blabla.txt.txt"... That's the same with .CSV files so windows create a file named "001.csv.csv" if you called it "001.csv"

So, when you create your .csv file, just rename it "001" and open it in R using read.table("/absolute/path/of/directory/with/required/001.csv")

It works for me.



回答4:

In my case, the problem was that inside the directory with the *.csv files was also another directory. As soon as I moved the directory from the folder, the specific error disappeared.