请考虑以下以逗号分隔的文件。为简单起见让它包含一条线:如何阅读包含转义引号的引用文本
'I am quoted','so, can use comma inside - it is not separator here','but can\'t use escaped quote :=('
如果你试图用命令
table <- read.csv(filename, header=FALSE)
线路将被分离到4个部分读它,因为行包含3逗号。事实上,我只想阅读3部分,其中一部分包含逗号本身。有报价标志来帮助。我试过了:
table <- read.csv(filename, header=FALSE, quote="'")
但是这个错误是"incomplete final line found by readTableHeader on table"
。这是因为奇数(七)的报价。
read.table()
以及scan()
有参数allowEscapes
,但将其设置为TRUE
没有帮助。它是确定,从help(scan)
原因可以读:
被解释的逃逸是所述控制字符 '\一个,\ B,\楼\ N,\ R,\吨,\ V', ... ... 任何其他逃脱 字符将被视为本身,包括反斜杠
请提出你会怎么看这种报价的CSV文件,内含逃脱\'
报价。
我明白你想要做什么,但很困惑你为什么要使用'read.csv()':这不是一个CSV文件,没有多列,它只是一个文本块,尽管引号。你说行是分开还是不行,为什么不用'readLines(...,n = 1)'?你必须表示它是包含转义引号的多行文本。 – smci 2016-09-22 04:27:45