我已经在我的csv文件中转义了引号,我试图将其删除,以便可以使用fread读取文件。以下是数据中需要修复的其中一行的示例:
[1] "\"549300UIFHFOUTLOYP82\",\"\"Maritime Centre, United Kingdom\"\",\"\",\"N\""
我使用的代码是:
data <- readLines(file)
data <- gsub('([^,])"([^,])', '', data)
这会得到以下结果:
[1] "\"549300UIFHFOUTLOYP82\",aritime Centre, United Kingdo,\"\",\"N\""
我在寻找的是:
[1] "\"549300UIFHFOUTLOYP82\",\"Maritime Centre, United Kingdom\",\"\",\"N\""
有关此代码中出现问题的任何想法吗?
答案 0 :(得分:0)
围绕值替换双重转义引号,但不替换为空值:
yourString <- string <- "\"549300UIFHFOUTLOYP82\",\"\"Maritime Centre, United Kingdom\"\",\"\",\"N\""
newString <- gsub("(\"\")(.+?)(\"\")","\"\\2\"", yourString, fixed=FALSE)
这是否正确地读作“英国海事中心”?
textCon <- textConnection(newString)
d <- read.csv(textCon)
str(d)
#'data.frame': 0 obs. of 4 variables:
#$ X549300UIFHFOUTLOYP82 : logi
#$ Maritime.Centre..United.Kingdom: logi
#$ X : logi
#$ N : logi
它确实:)