在R中导入csv文件时如何处理千位分隔符

时间:2013-11-28 16:06:06

标签: r excel csv

我想要在R中导入的数据集存在问题。基本上我将一些经济数据导入excel(MacOS),然后将第一张表保存为csv文件。

但是,当我导入它时:French_data< - read.csv(“/ Users / lillumultipass / Dropbox / WORK / Economics / French data.csv”,header = T,fill = T)

我得到这样的东西(有6列数据):

1 56 \ 377695; 33 \ 377713; 56 \ 377836; 60 \ 377339; 190 \ 377418; 333 \ 377382
2 57 \ 377686; 33 \ 377546; 57 \ 377933; 60 \ 377201; 190 \ 377083; 334 \ 377998
3 58 \ 377296; 33 \ 377393; 60 \ 377121; 62 \ 377610; 191 \ 377775; 338 \ 377832

所以,我有“;”我应该什么都没有,而不是分隔成千上万的空白空间,我有\ 377(即第一个数字是56 695)。我尝试过dec和sep的不同组合,但无济于事。

我知道这应该很简单,但我被困在这里...... 谢谢!

3 个答案:

答案 0 :(得分:4)

使用read.csv2。它专为欧洲大陆的csv文件而设计。

  

read.csv和read.csv2与read.table相同,除了   默认值。它们用于读取“逗号分隔值”文件   ('.csv')或(read.csv2)在使用逗号的国家/地区中使用的变体   作为小数点和分号作为字段分隔符。

答案 1 :(得分:0)

read.table没有千位分隔符的选项。但您可以手动过滤掉角色:

French_data$column <- as.integer(gsub("\377", "", French_data$column))

答案 2 :(得分:0)

如果您的数据在Excel中开始,请考虑使用XLConnect package。我在这方面取得了更大的成功,而不是将Excel导出为CSV并导入它。所以,像这样:

library(XLConnect)
myWB   <- "myWorkbook.xlsx" 
wb     <- loadWorkbook(myWB)
data   <- readWorksheet(wb, sheet="Sheet1")