如何读取带有不规则嵌套引号的CSV文件并去除字段外层引号?
不规则引号CSV文件导入解决方案
核心问题:该文件本质是每行被外层双引号整体包裹,内部的标准双引号被转义为两个连续双引号,之前的导入方案未处理外层包裹引号,因此会出现引号残留。
方案1:tidyverse 方案
library(readr) library(stringr) tib <- read_lines("file.csv") |> str_remove_all("^\"|\"$") |> # 移除每行首尾的外层包裹引号 read_csv(show_col_types = FALSE)
方案2:Base R 方案
# 逐行读取并清理外层引号 raw_lines <- readLines("file.csv") clean_lines <- gsub("^\"|\"$", "", raw_lines) # 解析清理后的文本 df <- read.csv(text = clean_lines, stringsAsFactors = FALSE)
方案3:data.table 方案
library(data.table) raw_lines <- readLines("file.csv") clean_lines <- gsub("^\"|\"$", "", raw_lines) dt <- fread(text = clean_lines)
以上三种方案导入后,表头和所有数据字段均不会残留引号,数值、日期类字段会自动识别为对应类型,无需额外转换。
内容的提问来源于stack exchange,提问作者Tea Tree
相关产品推荐
相关产品推荐

