Fout in bestand (bestand, “rt”): kan de verbinding niet openen

Ik voer de volgende code uit…

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

Dit is de foutmelding die ik krijg als ik de regel do.callhierboven uitvoer.

Fout in bestand(bestand, “rt”): kan de verbinding niet openen

Ik heb geprobeerd mijn wd opnieuw in te stellen. Mijn huidige getwd()is

~/R/natural-language-processing

Ik heb de andere bekeken

Fout in bestand(bestand, “rt”): kan geen verbinding openen


Antwoord 1, autoriteit 100%

Hoogstwaarschijnlijk probeert u bestanden te openen vanuit de werkmap in plaats van de map waarin u list.fileshebt aangeroepen. Probeer in plaats daarvan

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

Als alternatief kunt u het argument full.namesinstellen op TRUEin list.filesom volledige paden te krijgen:

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

Antwoord 2, autoriteit 17%

read.csv zoekt naar de bestandsnamen in uw werkdirectory. Door uw werkdirectory te wijzigen in “C:/Users/Bob/Documents/R/natural-language-processing/class-notes”, zou uw code prima moeten werken.

Code:

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

Voer vervolgens uw code opnieuw uit.


Antwoord 3

Ik heb net veel tijd besteed aan het proberen te begrijpen wat er mis was met mijn code…

En het lijkt eenvoudig als je Windows gebruikt.

Als je je bestand “blabla.txt” noemt, dan noem je het “blabla.txt.txt”… Dat is hetzelfde met .CSV-bestanden, dus Windows maakt een bestand met de naam “001.csv.csv” als je aanroept het “001.csv”

Dus, als je je .csv-bestand maakt, hernoem het dan gewoon naar “001” en open het in R met read.table(“/absolute/path/of/directory/with/required/001.csv”)

Het werkt voor mij.


Antwoord 4

In mijn geval was het probleem dat zich in de map met de *.csv-bestanden ook een andere map bevond. Zodra ik de map uit de map verplaatste, verdween de specifieke fout.

Other episodes