【发布时间】:2018-10-05 19:34:36
【问题描述】:
抱歉 - 我对 R 很陌生,所以我希望这不是一个太明显的问题。
我一直在尝试将 xls 格式的 Excel 文件读入 R。我正在使用 gdata 包中的 read.xls 函数。
我最初尝试过:
V2 <- read.xls("file.xls",header=TRUE)
但这无法处理文件中的某些字符串包含引号 (") 来表示英寸的事实。这 a) 导致 V2 中的某些字段合并了原始字符串中的多个字符串,并且 b) 生成“字符串中的 EOF”错误,它只是停止读取。
所以我阅读了这个问题,发现解决方案是禁用引用,并复制了一个建议的格式,供有相同问题的人使用基本 read.csv 函数:
V2 <- read.xls("file.xls",sep=",",quote="",row.names=NULL)
这会正确读取所有行并避免之前的问题。但是,这意味着 V2 中的每个非空白字符串都有双引号 - 即使数据中以前没有引号。
它还在每个字符串中生成一个反斜杠字符,该字符在原始字符串中包含一个英寸引号,例如:
Product GG 7" Tablet
在原来的Excel文件中变成
"Product GG 7\" Tablet"
在 V2 中。
我如何 a) 避免在 V2 中出现这些反斜杠和 b) 避免在每个字符串周围出现引号?
【问题讨论】:
-
反斜杠正是 R 呈现它的方式,因此您知道 " 不是字符串的结尾。如果 x 是字符串,请尝试 cat(x) ,您将看到没有反斜杠。