如何在read.csv中声明1000分隔符?

如何在read.csv中声明1000分隔符?,r,csv,R,Csv,我要读入的数据集包含带逗号和不带逗号分隔符的数字: "Sudan", "15,276,000", "14,098,000", "13,509,000" "Chad", 209000, 196000, 190000 我正在寻找一种方法来读取这些数据 任何暗示都感谢 查看这组数据,您可以使用“,”(注意额外的空格)作为“,”的分隔符intead对其进行解析。将其作为两个步骤进行分析。 1.将“,”替换为制表符 2.在选项卡上拆分 我在这里假设.NET,但示例原则适用于任何语言您可以使用以下正则表达

我要读入的数据集包含带逗号和不带逗号分隔符的数字:

"Sudan", "15,276,000", "14,098,000", "13,509,000"
"Chad", 209000, 196000, 190000
我正在寻找一种方法来读取这些数据


任何暗示都感谢

查看这组数据,您可以使用“,”(注意额外的空格)作为“,”的分隔符intead对其进行解析。

将其作为两个步骤进行分析。 1.将“,”替换为制表符 2.在选项卡上拆分


我在这里假设.NET,但示例原则适用于任何语言

您可以使用以下正则表达式删除逗号和任何周围的引号,以保留纯csv内容

,(?=[0-9])|"
然后按正常方式处理它

,因为问题下面有一个“r”标记,我假设这是一个r问题。 在R中,不需要做任何事情来处理引号中的逗号:

> read.csv('t.csv', header=F)
     V1          V2          V3          V4
1 Sudan  15,276,000  14,098,000  13,509,000
2  Chad      209000      196000      190000

# if you want to convert them to numbers:
> df <- read.csv('t.csv', header=F, stringsAsFactor=F)
> df$V2 <- as.numeric(gsub(',', '', df$V2))
>read.csv('t.csv',header=F)
V1 V2 V3 V4
1苏丹15276000 14098000 13509000
2乍得209000 196000 190000
#如果要将它们转换为数字:
>df$V2一些注释-1)“r”标记表示Karsten使用的是“r”语言,而不是.NET。2) 用制表符替换所有逗号是行不通的,你最终会以错误的方式分割数据。如果read.csv(根目录下的read.table)将“数千.sep”参数作为字符以允许(和strip)数字数据,我会很高兴。目前,我认为gsub()解决方案是我们仅有的。