[R] Read many .csv files into an R session automatically, without specifying filenames
baptiste auguie
ba208 at exeter.ac.uk
Mon May 11 23:05:18 CEST 2009
Hi,
I once made this function (essentially the same as Romain),
assignFiles <-
function (pattern = "csv", strip = "(_|.csv|-| )", ...) # strip is
any pattern you want to remove from the filenames
{
listFiles <- list.files(pattern = pattern, all.files = FALSE,
full.names = FALSE, recursive = FALSE)
variables <- gsub(strip, "", listFiles)
for (ii in (1:length(listFiles))) {
name <- listFiles[ii]
assign(variables[ii], read.csv(name, ...), env = .GlobalEnv)
}
}
HTH,
baptiste
On 11 May 2009, at 22:55, Romain Francois wrote:
>
> Hi,
>
> Something like this perhaps:
>
> files <- dir( pattern = "\\.csv$" )
> for( x in files){
> assign( sub( "\\.csv$", "", x ) , read.csv(x), envir = .GlobalEnv )
> }
>
> Romain
>
> Mark Na wrote:
>> Hi R-helpers,
>>
>> I would like to read into R all the .csv files that are in my working
>> directory, without having to use a read.csv statement for each file.
>>
>> Each .csv would be read into a separate dataframe which would acquire
>> the filename of the .csv.
>>
>> As an example:
>>
>> Mark<-read.csv("Mark.csv")
>>
>> ...but the code (or command) would do this automatically for every
>> .csv in the working directory without my specifying each file.
>>
>> I'd appreciate any help or ideas you might have.
>>
>> Thanks!
>>
>> Mark Na
>>
>
>
> --
> Romain Francois
> Independent R Consultant
> +33(0) 6 28 91 30 30
> http://romainfrancois.blog.free.fr
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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.
_____________________________
Baptiste Auguié
School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK
Phone: +44 1392 264187
http://newton.ex.ac.uk/research/emag
More information about the R-help
mailing list