阅读.csv - 分隔符问题

时间:2014-09-06 19:43:41

标签: r csv

我试图通过以下链接阅读csv:http://databank.worldbank.org/data/download/GDP.csv

我有两个问题:

  1. 此表在其列之间有不同的分隔符(例如,第一列和第二列用逗号分隔,但第二列和第三列用逗号分隔)。
  2. 每行以5个逗号结尾。
  3. 我想用read.fwf()函数读取表来解决问题1和2.但是,我不认为这是一个合适的解决方案,因为某些列中的值可能会有所不同(例如,国家专栏可以找到"美国"和"意大利")。

1 个答案:

答案 0 :(得分:3)

显然,这个“CSV”文件的格式看起来很漂亮,实际上并不实用。并不是它有不同的分隔符,而是缺少列。怎么样用

之类的东西清理它
dd <- read.csv("http://databank.worldbank.org/data/download/GDP.csv", skip=5, header=F)[,c(1,2,4,5)]
names(dd) <- c("CountryID","Ranking","Economy","GDP")
dd<-dd[dd[,1]!="",] #get rid of rows without IDs

head(dd)

#   CountryID Ranking        Economy          GDP
# 1       USA       1  United States  16,800,000 
# 2       CHN       2          China   9,240,270 
# 3       JPN       3          Japan   4,901,530 
# 4       DEU       4        Germany   3,634,823 
# 5       FRA       5         France   2,734,949 
# 6       GBR       6 United Kingdom   2,522,261 

R不喜欢数字中的逗号,所以你可能也想要

dd$GDP <- as.numeric(gsub(",","",dd$GDP))