如何使用R清除双引号中包含双引号的CSV
下面是我用R读取的csv行,但并没有在它们的列中分离所有值,因为我在数据集中有逗号和倒逗号 数据:“18452”、“xx、yy和zz”查尔斯W”、“xxxx”如何使用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 =
假设您的意思是
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"'