r - 导入多个 csv 文件并为每个文件添加年份
问题描述
我正在使用以下函数将来自不同年份的大约 10 个文件(全部来自同一个文件夹)导入 r。
ed.attain.places_0_10_18 <-
list.files(path = "./ed_attainment/",
pattern = "*.csv",
full.names = T) %>%
map_df(~read_csv(., col_types = cols(.default = "c")))
此文件夹 (ed_attainment/) 包含以下 csv 文件,一直到 '17。
ACS_09_5YR_B19301_with_ann.csv
ACS_10_5YR_B19301_with_ann.csv
我想将年份添加到上述函数中的每个文件中。只需导入一个 csv 文件,代码将是
read_csv("ACS_09_5YR_B19301_with_ann.csv")%>%mutate(year = 09)
这样文件名中的年份对应于新的“年份”变量中的值。
非常感谢!
解决方案
我建议:
myReadCsv <- function(fullPath){
# Pull the Year out of the fullPath
year <- paste0("20", str_match(fullPath,
"ACS_(\\d{2})")[,2])
# Read csv as you did before
read_csv(fullPath, col_types = cols(.default = "c")) %>%
# Add YEAR in as a column
mutate(YEAR = year)
}
进而
ed.attain.places_0_10_18 <-
list.files(path = "./ed_attainment/",
pattern = "*.csv",
full.names = T) %>%
map_df(myReadCsv)
不跑
## 因为我手边没有 CSV 文件的目录。##
推荐阅读
- javascript - 将纬度和经度转换为 XY 坐标
- perl - Perl SSH 到远程服务器并检查文件是否存在
- sql - Sql Server - 按特定间隔计算日期时间组的出现次数
- go - 返回值时地图文字中缺少键
- apache-kafka - 基于 ENV 的 Kafka 消息过滤
- seo - 丰富的片段:数据是否应该反映在页面上?
- excel - 如果单击 CommandButton,则继续执行过程
- sql-server - 将服务器添加到 SQL Avaylability Group 后,数据库卡在“同步/恢复中”模式
- python - 检查json文件中的行是否为空
- ios - Swift如何转换日期格式