R Studio导入合并多CSV文件报错:'\P'为未识别转义字符
解决R中导入CSV文件时的路径转义错误
你遇到的'\P' is an unrecognized escape错误,核心原因是Windows路径里的反斜杠()在R中属于转义字符,R会把\P当成无效的转义序列解析,导致报错。下面是几种可行的修复方案:
方案1:使用双反斜杠替换单反斜杠
把路径中的每个\替换成\\,让R将其识别为普通路径分隔符:
bike_ride <- list.files(path="C:\\Program Files\\Microsoft SQL Server\\MSSQL15.SQLEXPRESS\\MSSQL\\Backup\\Capstone req. data", pattern = "*.csv", full.names = TRUE) %>% lapply(read_csv) %>% bind_rows()
方案2:使用正斜杠代替反斜杠
R支持用正斜杠(/)作为Windows系统的路径分隔符,无需转义,写法更简洁:
bike_ride <- list.files(path="C:/Program Files/Microsoft SQL Server/MSSQL15.SQLEXPRESS/MSSQL/Backup/Capstone req. data", pattern = "*.csv", full.names = TRUE) %>% lapply(read_csv) %>% bind_rows()
方案3:用file.path()自动构建路径
file.path()函数会根据当前操作系统自动选择正确的路径分隔符,避免手动处理转义问题,是最稳妥的方式:
# 分步构建路径,更易读 target_path <- file.path("C:", "Program Files", "Microsoft SQL Server", "MSSQL15.SQLEXPRESS", "MSSQL", "Backup", "Capstone req. data") bike_ride <- list.files(path=target_path, pattern = "*.csv", full.names = TRUE) %>% lapply(read_csv) %>% bind_rows()
额外提示
如果你的CSV文件结构不一致(比如列名、列数不同),bind_rows()可能会出现警告或错误,此时可以在read_csv里添加col_types = cols(.default = "c")统一读取为字符型,之后再做数据清洗。
内容的提问来源于stack exchange,提问作者Adewale Franklin
相关产品推荐
相关产品推荐

