如何在导入目录下所有CSV文件后添加文件名作为变量?
为合并的CSV数据添加原始文件名列
你可以通过在读取每个CSV文件时新增一列记录文件名的方式实现需求,修改后的代码如下:
方法一:直接在map_df中添加列
orgs <- list.files(pattern = "\\.csv$") %>% map_df(~read_csv(., col_types = cols(.default = "c")) %>% mutate(filename = .x))
方法二:使用imap_df(更清晰传递文件名)
orgs <- list.files(pattern = "\\.csv$") %>% set_names() %>% imap_df(~read_csv(.x, col_types = cols(.default = "c")) %>% mutate(filename = .y))
效果说明
执行后的数据框会新增filename列,每条数据都会对应其原始CSV文件名,示例如下:
| Imported Data | Filename |
|---|---|
| data 1 | csv1.csv |
| data 2 | csv2.csv |
内容的提问来源于stack exchange,提问作者Nicole
相关产品推荐
相关产品推荐

