1) data.table with xsv Download xsv (releases) and put it on your path and then if Filenames is a character vector with the filenames run the following code. The file column in the result will contain the filename that each row originally came from. If you don't need that the last line can be just rbindlist(L).
library(data.table)
L <- lapply(paste("xsv select Time,Place", Filenames), fread)
rbindlist(setNames(L, Filenames), idcol = "file")
2) Base R Create a function, Read, which reads in the headings and creates a colClasses vector which can be used in read.csv to only read in the Time and Place columns -- if an element of colClasses is NULL then that column will be omitted and if an element is NA then the corresonding column will be read in normally. It also adds a file column to record which file each row came from. Omit the data.frame(...) line in Read if you don't need that. Then combine the files using rbind/do.call.
Read <- function(file) {
cn <- unlist(read.table(file, sep = ",", nrows = 1))
colClasses <- ifelse(cn %in% v("Time", "Place"), NA, "NULL")
dat <- read.csv(file, colClasses = colClasses)
data.frame(file, dat)
}
do.call("rbind", lapply(Filenames, Read))
?data.table::fread(). It has extensive options to read csv's (and is also pretty fast and handles most csv's correct by default, without any advanced settings). For binding, i suggest?data.table::rbindlist().