[R] Problem with loop in folders

Sarah Goslee @@r@h@go@|ee @end|ng |rom gm@||@com
Fri Apr 24 17:18:21 CEST 2020


I suspect much if not all of your trouble would be eliminated by using
file.path() instead of paste0().

https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/file.path

(Also check your file name - you probably want a . between name and
csv, so using paste(name, "csv", sep = ".") would create a more usual
file name.

It's always a good idea to work thru your loop by hand once, and look
at all the intermediate steps. Often that quickly shows you where you
went wrong.

Sarah

On Fri, Apr 24, 2020 at 10:08 AM Shubhasmita Sahani
<shubhasmita.sahani using gmail.com> wrote:
>
> Hi Everyone,
> I am trying to loop through the folders in the major working directory.
> Read the dbf file into the data frame then save the data frame as CSV file
> in another folder.
> For this, I have written this code, But not able to figure out where it is
> going wrong. Any ideas will be of great support.
>
>
>  setwd(choose.dir())
>  csvpath= "C:/plan/Learning/dummydata/csv/"
>  a<-list.dirs()
>  inpath<-"C:/workplan/Q2/Project1"
>
>  for (folder in list.dirs()[-1]) {
>
>    path<-setwd(paste0("inpath",folder))
>    dbf<-list.files(path, pattern = "*ward.dbf")
>    df <- read.dbf(dbf)
>    dbfname<-basename(dbf)
>    name<-file_path_sans_ext(dbfname)  # get the name of the file like
> agra_ward
>    write.csv( df, file = paste0("csvpath",name,"csv"))
>    print(path)
>
>  }
>
>
>
>
>
> --
> Thanks & Regards,
> Shubhasmita Sahani
>
-- 
Sarah Goslee (she/her)
http://www.numberwright.com



More information about the R-help mailing list