我正在使用fread
函数读取带引号字段的csv文件。在某些字段中,出现了转义引号(\"
)。我不明白为什么fread
函数会逃脱已经转义的这些引号。
我用一个简单的例子重现了这个行为。我用一行和一个字段创建了一个文件:
"Hello \"World\" "
如果我运行以下R命令:
table <- fread(input = "/tmp/quoteprova.csv", header=FALSE, sep = "\t")
表变量将如下所示:
V1
1: Hello \\"World\\"
我希望这个结果:
V1
1: Hello \"World\"
我是否缺少指定一些选项以获得预期的行为?
答案 0 :(得分:1)
你正在寻找你想要的东西。 \\"
有两个字符:普通字符\
和"
。因为\
用于转义特殊字符,\*
将被解释为使用\
转义的特殊字符。此处的附加\
(第一个)将告诉您第二个\
不会用于转义"
,应该按原样处理。
见这个例子:
> nchar('\\"')
[1] 2
> nchar('\"')
[1] 1