R合并Excel文件时移除地址字段换行符代码报错问题求助
R处理Excel地址字段换行符及合并输出方案
报错原因
你写的gsub("\r\n", " ", df$Primary.Street)触发无效令牌报错,是因为R字符串中反斜杠为转义字符,要表示正则匹配用的\r、\n,需要对反斜杠做二次转义,写成\\r、\\n的形式。
完整解决步骤
- 第一步:修正换行符替换代码,同时兼容Windows换行(\r\n)、Mac/Linux换行(\n)、老式Mac换行(\r)三种格式,顺便清理多余空格
# 替换所有类型的换行符为空格 df$Primary.Street <- gsub("\\r?\\n|\\r", " ", df$Primary.Street) # 将连续多个空白(包括制表符、多余空格)合并为单个空格 df$Primary.Street <- gsub("\\s+", " ", df$Primary.Street) # 去除字段首尾的空白 df$Primary.Street <- trimws(df$Primary.Street)
- 第二步:如果读入Excel时就出现字段错位的情况,优先使用
readxl包读取原始Excel文件,避免手动处理文本导出的字段偏移问题,批量读入合并示例:
library(readxl) # 批量读取同目录下所有xlsx文件 file_list <- list.files(path = "你的Excel文件存放路径", pattern = "\\.xlsx$", full.names = TRUE) df_list <- lapply(file_list, read_excel) # 合并所有表格为单个dataframe df <- do.call(rbind, df_list)
- 第三步:按要求输出带双引号分隔的csv文件
write.csv(df, "合并输出结果.csv", row.names = FALSE, quote = TRUE, na = "")
内容的提问来源于stack exchange,提问作者OldManSeph
相关产品推荐
相关产品推荐

