wahalulu
wahalulu

Reputation: 1467

Writing a script for reading many .csv files with similar filenames

I have several .csv files with similar filenames except a numeric month (i.e. 03_data.csv, 04_data.csv, 05_data.csv, etc.) that I'd like to read into R.

I have two questions:

Upvotes: 2

Views: 1627

Answers (2)

Dirk is no longer here
Dirk is no longer here

Reputation: 368241

It is also very easy to read the content of a directory including use of regular expressions to skip focus on certain names only, e.g.

filestoread <- list.files(someDir, pattern="\\.csv$", full.names=TRUE)

returns all (fully-formed, including full path) files in the given directory someDir that end on ".csv". You can get fancier with better regular expressions which are documented in many places.

Once you have your list of files, it is straightforward to read them all using apply or lapply or a loop.

Upvotes: 4

Shane
Shane

Reputation: 100174

You could look at this related question. You can create the file names easily with a paste command:

file.names <- paste(sprintf("%02d",1:10), "_data.csv", sep="")

Once you have your file names (whether by creating them or by reading them from the directory as in the other question), you can import them quickly with an lapply:

import.list <- lapply(file.names, read.csv)

Lastly, to combine the list into one dataframe, the easiest approach is to use the reshape function below:

library(reshape)
data <- merge_recurse(import.list)

Upvotes: 6

Related Questions