[R] error message from read.csv in loop

Migdonio González m|gdon|o@gonz@|ez02 @end|ng |rom gm@||@com
Fri Jul 9 20:39:45 CEST 2021


 It seems that your problem is that you are using single quotes inside of
the double quotes. This is not necessary. Here is the corrected for-loop:

for (j in 1:nrow(ora))
{
        mycol  <- ora[j,"fname"]
        mycsv  <- paste0(mycol,".csv")
        rdcsv  <- noquote(paste0("w:/project/_Joe.B/Oracle/data/", mycsv))
        rr     <- read.csv(rdcsv)
}

Also note that the rr variable will only store the last CSV, not all CSV.
You will need to initialize the rr variable as a list to store all CSVs if
that is what you require. Something like this:

# Initialize the rr variable as a list.
rr <- as.list(rep(NA, nrow(ora)))

# Run the for-loop to store all the CSVs in rr.
for (j in 1:nrow(ora))
{
        mycol  <- ora[j,"fname"]
        mycsv  <- paste0(mycol,".csv")
        rdcsv  <- noquote(paste0("w:/project/_Joe.B/Oracle/data/", mycsv))
        rr[[j]]     <- read.csv(rdcsv)
}

Regards
Migdonio G.

On Fri, Jul 9, 2021 at 1:10 PM Kai Yang via R-help <r-help using r-project.org>
wrote:

> Hello List,
> I use for loop to read csv difference file into data frame rr.  The data
> frame rr will be deleted after a comparison and go to the next csv file.
> Below is my code:
> for (j in 1:nrow(ora))
> {
>   mycol  <- ora[j,"fname"]
>   mycsv  <- paste0(mycol,".csv'")
>   rdcsv  <- noquote(paste0("'w:/project/_Joe.B/Oracle/data/", mycsv))
>   rr     <- read.csv(rdcsv)
> }
> but when I run this code, I got error message below:
> Error in file(file, "rt") : cannot open the connection
> In addition: Warning message:
> In file(file, "rt") :
>   cannot open file
> ''w:/project/_Joe.B/Oracle/data/ASSAY_DEFINITIONS.csv'': No such file or
> directory
>
> so, I checked the rdcsv and print it out, see below:
> [1] 'w:/project/_Joe.B/Oracle/data/ASSAY_DEFINITIONS.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/ASSAY_DISCRETE_VALUES.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/ASSAY_QUESTIONS.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/ASSAY_RUNS.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/DATA_ENTRY_PAGES.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/DISCRETE_VALUES.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/ENTRY_GROUPS.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/GEMD_CODELIST_GROUPS.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/GEMD_CODELIST_VALUES.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/GEMD_LOT_DEFINITIONS.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/GEMD_SAMPLES.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/MOLECULAR_WAREHOUSE.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/QUESTION_DEFINITIONS.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/QUESTION_GROUPS.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/RESPONDENTS.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/RESPONSES.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/SAMPLE_LIST.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/SAMPLE_LIST_NAMES.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/SAMPLE_PLATE_ADDRESSES.csv'
> [1] 'w:/project/_Joe.B/Oracle/data/STORAGE_UNITS.csv'
> it seems correct. I copy and paste it into a code :
>  rr     <- read.csv( 'w:/project/_Joe.B/Oracle/data/RESPONDENTS.csv')
> and it works fine.
> Can someone help me debug where is the problem in my for loop code?
> Thanks,
> Kai
>
>
>
>
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list