textconnection产生额外的空间[R]

时间:2016-08-16 17:47:08

标签: r parsing

我有一个类似csv文件内容的字符串:'"number 1", "number 2"',我想解析它。

我发现textconnection可以将字符串转换为文件句柄。解析使用它。但它在我的内容中产生了一些神秘的空间。任何人知道为什么以及如何解决?感谢

con = textConnection('"number 1", "number 2"')
dat = read.csv(con, header = F, stringsAsFactors = F)
close(con)

dat
#         V1        V2
# 1 number 1  number 2

dat[1,1]
# [1] "number 1"

dat[1,2]
# [1] " number 2"   --- why there's a space???

1 个答案:

答案 0 :(得分:1)

空间已经存在,所以这并不是一个谜。由于read.csv()解析文件的方式,逗号和引号之间的空格被遗忘。您可以在致电strip.white = TRUE时使用read.csv()来解决此问题。

con = textConnection('"number 1", "number 2"')
dat = read.csv(con, header = F, stringsAsFactors = F, strip.white = TRUE)
dat[1,2]
# [1] "number 2"

顺便说一句,您无需在textConnection()中使用read.csv()。如果您有字符串,则可以使用text的{​​{1}}参数将其传入。