如何扩展R语言代码以导入文件名含反引号`的CSV文件?
解决文件名含反引号的CSV批量导入问题
原代码的核心问题在于dir_ls的正则表达式写法有误,同时需要确保含反引号的文件名能被正确传递给读取函数。以下是修正并扩展后的实现:
修正后的完整代码
# 批量导入所有CSV文件(支持文件名包含反引号) dat <- dir_ls(regexp = ".*\\.csv") %>% map_dfr(read_csv2, col_types = cols(.default = col_character()), .id = "source_file")
关键说明
- 修正正则匹配:原代码的
"*.csv"是无效正则表达式,改用".*\\.csv"可以正确匹配所有以.csv结尾的文件,文件名中的反引号不属于正则特殊元字符,不会干扰匹配结果。 - 保留源文件名(可选):使用
map_dfr替代map_df,并添加.id = "source_file"参数,会自动新增一列记录每个数据行对应的原始文件名,包含反引号的文件名会被完整保留。 - 读取逻辑不变:
read_csv2可以直接识别带反引号的文件路径,不需要额外转义处理,原有的列类型设置依然生效。
内容的提问来源于stack exchange,提问作者jtjtjtjt
相关产品推荐
相关产品推荐

