Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用R清除双引号中包含双引号的CSV_R_Csv - Fatal编程技术网

如何使用R清除双引号中包含双引号的CSV

如何使用R清除双引号中包含双引号的CSV,r,csv,R,Csv,下面是我用R读取的csv行,但并没有在它们的列中分离所有值,因为我在数据集中有逗号和倒逗号 数据:“18452”、“xx、yy和zz”查尔斯W”、“xxxx” 假设您的意思是xxxx,而不是“xxxx”,作为最后一列的输出,将,“(即每次出现双引号、逗号、双引号)替换为,,并删除每行开头和结尾的任何双引号。最后,使用read.table: read.table(text = gsub('^"|"$', "", gsub('","', '|', Data)), sep = "|", quote =

下面是我用R读取的csv行,但并没有在它们的列中分离所有值,因为我在数据集中有逗号和倒逗号

数据:“18452”、“xx、yy和zz”查尔斯W”、“xxxx”


假设您的意思是
xxxx
,而不是
“xxxx”
,作为最后一列的输出,将
,“
(即每次出现双引号、逗号、双引号)替换为
,并删除每行开头和结尾的任何双引号。最后,使用
read.table

read.table(text = gsub('^"|"$', "", gsub('","', '|', Data)), sep = "|", quote = "")
给予:

     V1                     V2   V3
1 18452 xx, yy & zz "Charles W xxxx
上述内容的一个变体是将其表示为magrittr管道:

library(magrittr)

Data %>% 
     gsub(pattern = '^"|"$', replacement = "") %>%
     gsub(pattern = '","', replacement = '|') %>%
     read.table(text = ., sep = "|", quote = "")
注:可复制形式的输入为:

Data <- '"18452","xx, yy & zz "Charles W","xxxx"'

Data replacement,with |…读取时不会创建另一个列,因为列b也有逗号。该代码不会用管道替换逗号。它用管道替换双引号,后跟逗号,后跟双引号。字段中的逗号不会被替换,如答案中所示的示例所示。V2有逗号和它没有被替换。
Data <- '"18452","xx, yy & zz "Charles W","xxxx"'