-2
我有一个CSV文件中像这样:如何阅读整数用“”千月到CSV文件
Year,All,Northeast,Midwest,South,West, CPI
1987,"85,600","133,300","66,000","80,400","113,200",113.6
1988,"89,300","143,000","68,400","82,200","124,900",118.3
1989,"89,500","127,700","71,800","84,400","127,100",124
1990,"92,000","126,400","75,300","85,100","129,600",130.7
1991,"97,100","129,100","79,500","88,500","135,300",136.2
1992,"99,700","128,900","83,000","91,500","131,500",140.3
1993,"103,100","129,100","86,000","94,300","132,500",144.5
的代码是这样的:
> fn <- paste(data.path, p2, "tmp.csv", sep="//")
> d <- read.csv(fn)
> str(d)
'data.frame': 7 obs. of 7 variables:
$ Year : int 1987 1988 1989 1990 1991 1992 1993
$ All : Factor w/ 7 levels "103,100","85,600",..: 2 3 4 5 6 7 1
$ Northeast: Factor w/ 6 levels "126,400","127,700",..: 5 6 2 1 4 3 4
$ Midwest : Factor w/ 7 levels "66,000","68,400",..: 1 2 3 4 5 6 7
$ South : Factor w/ 7 levels "80,400","82,200",..: 1 2 3 4 5 6 7
$ West : Factor w/ 7 levels "113,200","124,900",..: 1 2 3 4 7 5 6
$ CPI : num 114 118 124 131 136 ...
> d
Year All Northeast Midwest South West CPI
1 1987 85,600 133,300 66,000 80,400 113,200 113.6
2 1988 89,300 143,000 68,400 82,200 124,900 118.3
3 1989 89,500 127,700 71,800 84,400 127,100 124.0
4 1990 92,000 126,400 75,300 85,100 129,600 130.7
5 1991 97,100 129,100 79,500 88,500 135,300 136.2
6 1992 99,700 128,900 83,000 91,500 131,500 140.3
7 1993 103,100 129,100 86,000 94,300 132,500 144.5
当我使用read.csv函数,它以“All,Northeast,Midwest,South,West”作为字符串。如何以简单的方式纠正这个问题?
其他文件: 此CSV文件由Excel生成。我发现,因为Excel使用逗号作为CSV文件中的分隔符,所以如果在数字中使用逗号作为千位分隔符,它将为数字添加引号。 Excel可以很好地处理这种格式。但它增加了一些comfuse到R.
谢谢。
你可以发布你用来读取CSV的确切代码吗? – Heroka
我无法重现您的问题。 'read.csv'很好地读取你的数据。 – Roland
read.csv的默认分隔符是逗号:read.csv(file,header = TRUE,sep =“,”,...) – djhurio