当没有必要时,fread逃脱报价

时间:2017-05-09 11:41:00

标签: r csv escaping fread quote

我正在使用fread函数读取带引号字段的csv文件。在某些字段中,出现了转义引号(\")。我不明白为什么fread函数会逃脱已经转义的这些引号。

我用一个简单的例子重现了这个行为。我用一行和一个字段创建了一个文件:

"Hello \"World\" "

如果我运行以下R命令:

table <- fread(input = "/tmp/quoteprova.csv", header=FALSE, sep = "\t")

表变量将如下所示:

                  V1
1: Hello \\"World\\" 

我希望这个结果:

                V1
1: Hello \"World\" 

我是否缺少指定一些选项以获得预期的行为?

1 个答案:

答案 0 :(得分:1)

你正在寻找你想要的东西。 \\"有两个字符:普通字符\"。因为\用于转义特殊字符,\*将被解释为使用\转义的特殊字符。此处的附加\(第一个)将告诉您第二个\不会用于转义",应该按原样处理。

见这个例子:

> nchar('\\"')
[1] 2
> nchar('\"')
[1] 1

this R faq