如何使用像“”,“”这样的分隔符

问题描述 投票:1回答:2

我有个问题。我需要在R中导入数据,但分隔符是","

不只是逗号而是逗号被两个引号包围。但如果我把它作为分隔符我有命令:

"DownloadFormat"="","".

并且r不明白。我该如何保护这个分隔符?

r import delimiter
2个回答
0
投票

使用@ G.Grothendieck的示例hugo.dat文件,我们可以添加缺少的引号,并读取为CSV:

read.csv(textConnection(paste0('"', readLines("hugo.dat"), '"')))

#    a  b  c  d
# 1  1  2  3  4
# 2 13 14 15 16

1
投票

1)readLines / gsub R上的SO问题应包括一个完整的可验证示例。如果没有这样的话,我们最后在Note中提供了我们自己的。可能需要根据实际数据修改代码。首先使用readLines逐行读取数据并删除所有双引号。然后使用read.csv重新阅读它。

L <- gsub('"', '', readLines("hugo.dat"))
DF <- read.csv(text = L)
DF

赠送:

   a  b  c  d
1  1  2  3  4
2 13 14 15 16

2)pipe / sed另一种可能性是单线:

read.csv(pipe("sed -e 's/\"//g' hugo.dat"))

在Windows上,请确保已安装Rtools并且C:\ Rtools \ bin位于Windows PATH上(假设是默认的Rtools安装目录)。虽然这对我在直接Windows和使用bash的Linux上都有用,但由于不同shell处理转义和引用的方式不同,你可能需要根据你使用的shell稍微修改它。

注意

Lines <- 'a","b","c","d
1","2","3","4
13","14","15","16'
cat(Lines, "\n", file = "hugo.dat")
© www.soinside.com 2019 - 2024. All rights reserved.