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

Ik ben nieuw bij R en na uitgebreid onderzoek naar deze fout, kan ik er nog steeds geen oplossing voor vinden. Hier is de code. Ik heb mijn werkdirectory gecontroleerd en ervoor gezorgd dat de bestanden in de juiste directory staan. Waardeer het. Bedankt

pollutantmean <- function(directory, pollutant = "nitrate", id= 1:332)            
{                 if(grep("specdata",directory) ==1) 
            {
                    directory <- ("./specdata")
            }
            mean_polldata <- c()
            specdatafiles <- as.character(list.files(directory))
            specdatapaths <- paste(directory, specdatafiles, sep="")
                            for(i in id) 
                    {
                    curr_file <- read.csv(specdatapaths[i], header=T, sep=",")
                    head(curr_file)
                    pollutant
                    remove_na <- curr_file[!is.na(curr_file[, pollutant]), pollutant]
                    mean_polldata <- c(mean_polldata, remove_na)
                    }
            {
                    mean_results <- mean(mean_polldata)
                    return(round(mean_results, 3))
            }
} 

De foutmelding die ik krijg staat hieronder:

Error in file(file, "rt") : cannot open the connection
file(file, "rt")
read.table(file = file, header = header, sep = sep, quote = quote, 
    dec = dec, fill = fill, comment.char = comment.char, ...)
read.csv(specdatapaths[i], header = T, sep = ",")
pollutantmean3("specdata", "sulfate", 1:10)
In addition: Warning message:
In file(file, "rt") :
  cannot open file './specdata001.csv': No such file or directory

Antwoord 1, autoriteit 100%

U moet directory <- ("./specdata") wijzigen in directory <- ("./specdata/")

In vergelijking met uw huidige werkdirectory zoekt u naar het bestand 001.csv, dat zich in uw specdata-directory bevindt.

Deze vraag is bijna onmogelijk te beantwoorden zonder enige context, omdat je ons hier niet de structuur van je werkdirectory hebt gegeven. Gelukkig voor jou heb ik R Programming al op Coursera gevolgd, dus ik heb deze huiswerkvraag al gemaakt.


Antwoord 2, autoriteit 69%

De reden waarom je deze fout ziet, is denk ik omdat RStudio het pad van je werkmap kwijt is.

(1) Ga naar sessie…

(2) Werkmap instellen…

(3) Kies map…

–> Dan kun je een venster zien verschijnen.

–> Kies de map waarin u uw gegevens opslaat.

Dit is de manier waarop u zonder enige code uw werkdirectory wijzigt.
Ik hoop dat dit je kan helpen.

voer hier de afbeeldingsbeschrijving in


Antwoord 3, autoriteit 38%

Stel uw werkmap een niveau/map hoger in. Als het bijvoorbeeld al is ingesteld als:

setwd("C:/Users/Z/Desktop/Files/RStudio/Coursera/specdata")

ga een niveau terug en stel het in als:

setwd("C:/Users/Z/Desktop/Files/RStudio/Coursera")

Met andere woorden, maak de map “specdata” niet aan als uw werkmap.


Antwoord 4, autoriteit 28%

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 u uw bestand de naam “blabla.txt” geeft, geeft Windows het de naam “blabla.txt.txt”…
Dat is hetzelfde met .CSV-bestanden, dus Windows maakt een bestand met de naam “001.csv.csv” als u het “001.csv” noemt

Dus, wanneer u uw .csv-bestand maakt, hernoem het dan gewoon “001” en open het in R met behulp van read.table("/absolute/path/of/directory/with/required/001.csv")

Het werkt voor mij.


Antwoord 5, autoriteit 7%

Sluit je R studio en voer het opnieuw uit als beheerder. Dat deed de magie voor mij. Ik hoop dat het voor jou werkt en voor iedereen die dit ook doormaakt.


Antwoord 6, autoriteit 7%

Een betere controle die gedaan kan worden als je een dergelijke fout krijgt tijdens het openen van een bestand, is door de functie file.exists("file_path/file_name") te gebruiken. Deze functie retourneert TRUE als het bestand bestaat en toegankelijk is, anders False.


Antwoord 7, autoriteit 3%

Als het op Windows wordt uitgevoerd, probeer dan R of R Studio als beheerder uit te voeren om beperkingen van het Windows OS-bestandssysteem te vermijden.


Antwoord 8, autoriteit 3%

Gebruik setwd() om naar de juiste map te gaan.
Gebruik alleen bestandsnaam om toegang te krijgen tot elk bestand in de werkdirectory.
Navigeer door een map hierboven met behulp van "../<filename>".


Antwoord 9, autoriteit 3%

Fout in bestand(bestand, “rt”) :

Ik kwam net dezelfde fout tegen en heb ik opgelost door de spaties in het adres te verwijderen met behulp van paste0 in plaats van plakken

filepath=paste0(directory,"/",filename[1],sep="")

Antwoord 10

Ik kreeg dezelfde foutmelding en heb het op de gemakkelijkste manier opgelost. Ik plaatste mijn .csv-bestand in een bestandsmap op mijn bureaublad, opende het bureaublad in het venster naast console op RStudio en opende mijn bestand daar, en vinkte het vakje naast mijn .csv-bestand aan, toen gebruikte ik de “meer” vervolgkeuzemenu bovenaan dit venster om dit in te stellen als mijn werkmap… waarschijnlijk het gemakkelijkste voor SUPER-beginners zoals ik 🙂


Antwoord 11

Deze fout treedt ook op wanneer u het resultaat van getwd() rechtstreeks in het pad probeert te gebruiken. Het probleem is dat de “/” aan het einde ontbreekt. Probeer de volgende code:

projectFolder <- paste(getwd(), "/", sep = '')

De paste() is om de schuine streep aan het einde samen te voegen.


Antwoord 12

Ik kreeg mijn R-codebestand van een vriend en kon de opdracht read.csv niet uitvoeren, maar als ik dezelfde opdracht (read.csv ) kopieer naar een nieuw R-scriptbestand, werkte het prima.

Het onderstaande commando werd niet uitgevoerd in het R-codebestand dat werd gedeeld door mijn vriend, de werkmap, de bestandsnaam enz. waren allemaal correct, want als ik een nieuw R-scriptbestand maakte en het onderstaande commando uitvoerde, werkte het.

           df <- read.csv("file.csv",header=TRUE,stringsAsFactors = FALSE,strip.white = 
           TRUE,sep = ',')

probleem/oplossing:
Ik klikte met de rechtermuisknop op het R-codebestand en deblokkeerde het bestand en klik op de knop Opslaan en het probleem werd opgelost.
I uw R-codebestand bevindt zich in de map Downloads in Windows en ga dan naar een andere map.

voer hier de afbeeldingsbeschrijving in


Antwoord 13

Ik had hetzelfde probleem. Ik heb de extensie uit de bestandsnaam verwijderd. Mijn bestandsnaam is bijvoorbeeld opgeslagen als xyz. csv. ik heb het opgeslagen als xyz.


Antwoord 14

Ik kreeg deze foutmelding en ontdekte dat RStudio op mijn Windows-computer \ als escape-symbool probeerde te gebruiken, dus moest ik het vervangen door \\ om ermee om te gaan.

Probeer de functie file.exists met uw pad, bijvoorbeeld:

file.exists("D:\\R\\path_to_file.csv")

Antwoord 15

Ik kreeg dezelfde fout bij het importeren van 10.000 bestanden. Ik heb geprobeerd een enkel bestand te openen met Excel en Excel gaf me een foutmelding: “het bestandspad is te lang”.

Het bestand was begraven in 6 geneste mappen, wat een probleem op zich is. Door alle bestanden naar een bureaubladmap te verplaatsen, werd het probleem opgelost zonder dat er enige code hoefde te worden gewijzigd.


Antwoord 16

Ik kwam een ​​oplossing tegen op basis van een paar antwoorden in de thread.
(windows 10)

setwd("D:/path to folder where the files are")
directory <- getwd()
myfile<- "a_file_in_the_folder.txt"
filepath=paste0(directory,"/",myfile[1],sep="")
table <- read.table(table, sep = "\t", header=T, row.names = 1, dec=",")

Antwoord 17

Fout in bestand(bestand, “rt”)

Een .r-bestand gemaakt en samen met een sample_10000.csv-bestand in Desktop opgeslagen.

Eenmaal geprobeerd te lezen

heisenberg <- read.csv(file="sample_100000.csv")

kreeg dezelfde foutmelding als jij

heisenberg <- read.csv(file=”sample_10000″)
Fout in bestand(bestand, “rt”) : kan de verbinding niet openen Bovendien: Waarschuwingsbericht:
In file(file, “rt”) : kan bestand ‘sample_10000’ niet openen: Geen dergelijk bestand of
map


Ik wist op zijn minst twee manieren om dit op te lossen, één door het absolute pad te gebruiken en de andere door de werkdirectory te wijzigen.

Absoluut pad

Ik heb het gerepareerd door het absolute pad naar het bestand toe te voegen, om precies te zijn

heisenberg <- read.csv(file="C:/Users/tiago/Desktop/sample_100000.csv")

Werkmap

Deze fout verschijnt omdat RStudio een specifieke werkmap heeft gedefinieerd die niet noodzakelijk de plaats is waar het .r-bestand zich bevindt.

Dus, om het op deze manier op te lossen, ben ik naar Sessie > Werkmap instellen > Map kiezen (CTRL + Shift + H) gegaan en Desktop geselecteerd, waar het .csv-bestand zich bevond. Op die manier werkte het uitvoeren van de volgende opdracht ook

heisenberg <- read.csv(file="sample_100000.csv")

LEAVE A REPLY

Please enter your comment!
Please enter your name here

16 + five =

Other episodes