【发布时间】:2023-01-18 23:57:31
【问题描述】:
我有很多 csv 文件,它们大部分相同,但有些文件的列数不同。我想加载命名列并忽略任何其他列。 (所有文件都有一个带有列名的标题行)
我希望我可以做这样的事情,这样当一个文件有一个名为“Temp”的列时,它就会被忽略,但我不知道把 myCols 放在哪里才能得到那个结果。
fileList <- dir("thedata")
myCols <- c('Time','Place')
df <- do.call(rbind, lapply(fileList, read.csv))
【问题讨论】:
-
我建议阅读
?data.table::fread()的帮助文件。它有多种读取 csv 的选项(而且速度也非常快,默认情况下可以正确处理大多数 csv,无需任何高级设置)。对于绑定,我建议?data.table::rbindlist()。 -
我们可以用purrr::map_df(fileList, read.csv)