R处理单元格含逗号的引号包裹数据集时列拆分错误如何解决
解决方法
1. 基础包原生函数适配(无需安装额外包)
你当前代码的问题是未配置引号识别和空格处理参数,调整参数后即可正常读取:
# 优先用适配csv格式的read.csv函数 read.csv("你的文件路径.csv", header = TRUE, skip = 5, quote = "\"", strip.white = TRUE) # 若坚持使用read.table,补全对应参数即可 read.table("你的文件路径.csv", header = TRUE, sep = ",", skip = 5, quote = "\"", strip.white = TRUE, stringsAsFactors = FALSE)
参数说明:
quote = "\"":指定双引号为单元格包裹标识,函数会自动忽略双引号内部的所有逗号strip.white = TRUE:清除单元格首尾的多余空格,解决逗号后带空格导致的引号识别失效问题
2. readr包读取(容错率更高,大文件速度更快)
如果基础包函数仍有适配问题,可以使用tidyverse生态的readr包,默认支持带内部逗号的引号包裹单元格读取:
# 未安装先执行 install.packages("readr") library(readr) df <- read_csv("你的文件路径.csv", skip = 5)
该函数会自动推断列类型,不需要额外配置分隔符、引号相关参数即可正确识别你的文件格式。
3. 直接读取原始xls文件(更稳妥)
不需要手动把xls转成csv,直接用readxl包读取原始文件可以完全规避分隔符相关问题:
# 未安装先执行 install.packages("readxl") library(readxl) df <- read_excel("你的原始文件路径.xls", skip = 5)
内容的提问来源于stack exchange,提问作者Hayguneys
相关产品推荐
相关产品推荐

