使用list.files将数据读入r时包含.csv文件名

使用list.files将数据读入r时包含.csv文件名,r,csv,dplyr,R,Csv,Dplyr,我正在R中聚合一组CSV文件,我已经使用以下代码(找到)成功地完成了这项工作: Tbl% map_df(~read_csv(,col_types=cols(.default=“c”)) 我希望将.csv文件名(理想情况下没有文件扩展名)作为一列包含在Tbl中。我找到了一个使用plyr的解决方案,但我想继续使用dplyr,因为plyr会导致代码进一步出现故障 是否有任何方法可以向上面的代码添加一些东西,告诉R在Tbl$filename中包含文件名 非常感谢 由于.csv中的数据格式不清楚,因此很

我正在R中聚合一组CSV文件,我已经使用以下代码(找到)成功地完成了这项工作:

Tbl%
map_df(~read_csv(,col_types=cols(.default=“c”))
我希望将.csv文件名(理想情况下没有文件扩展名)作为一列包含在Tbl中。我找到了一个使用plyr的解决方案,但我想继续使用dplyr,因为plyr会导致代码进一步出现故障

是否有任何方法可以向上面的代码添加一些东西,告诉R在Tbl$filename中包含文件名


非常感谢

由于.csv中的数据格式不清楚,因此很难确切知道您想要什么。但请尝试
gsub
。假设您在Tbl.list中有文件列表:

library(dplyr)

Tbl.list <- list.files(path = "./Data/CSVs/",
                       pattern="*.csv", 
                       full.names = T)

索引
应包含字符向量[1…n]。
mutate
语句将在Tbl.list中查找,在
索引处抓取文件名,然后用“.”子输出“.csv”。

这是我的解决方案。让我知道这是否有帮助

Tbl <- list.files(path = "./Data/CSVs/",
         pattern="*.csv", 
         full.names = T) %>% 
   map_df(function(x) read_csv(x, col_types = cols(.default = "c")) %>% mutate(filename=gsub(".csv","",basename(x)))) 
Tbl%
map_df(函数(x)read_csv(x,col_types=cols(.default=“c”))%%>%mutate(filename=gsub(“.csv”,”,basename(x)))

的确如此!非常感谢!这回答了你的问题吗?
Tbl.df <-   data.frame( X1 = Tbl.list ) %>%
            mutate( filename_wo_ext = gsub( ".csv", "", X1 ) ) 
map_df(~ read_csv(., col_types = cols(.default = "c")),
         .id="index") %>%
mutate( gsub( ".csv", "", Tbl.list[as.numeric(index)] )
Tbl <- list.files(path = "./Data/CSVs/",
         pattern="*.csv", 
         full.names = T) %>% 
   map_df(function(x) read_csv(x, col_types = cols(.default = "c")) %>% mutate(filename=gsub(".csv","",basename(x))))