我有一个类似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???
答案 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}}参数将其传入。