使用list.files将数据读入r时包含.csv文件名
我正在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中的数据格式不清楚,因此很
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))))