【发布时间】:2015-09-10 00:20:49
【问题描述】:
我有一个包含几百万行的文本文件。每行应该有 10 个变量。它是用逗号分隔的,但每隔一段时间,变量中间就会有一个逗号(例如:第 3 行,“BLDG #5,#104”应该是一个变量,但是当我使用 read.csv() 导入时,它会变得很糟糕一切都好)。这是一个例子:
1,09/29/1951,F,N,22 MAIN STREET AVE,APT 3,SEATTLE,WA,98102-3053,00920670025
2,09/28/1950,F,N,13354 A STREET,APT 2,BURLINGTON,VT,10101,02510070025
3,10/18/1949,M,N,600 CENTRE STREET,BLDG #5,#104,SPRINGFIELD,IL,01010,02141650025
4,10/18/1955,M,N,5 KELLY AVENUE,,CITY,XI,10101,02141650025
关于如何最好地导入这些数据有什么建议吗?
【问题讨论】:
-
如果是文本文件为什么要使用
read.csv()如果你想快速读取大文件,请尝试使用library(data.table)中的fread(FILE, sep=",")...如果它是.csv 文件那么尝试使用read.csv2()@afleishman -
与您的输入混淆的其他声音是“#”。默认情况下它是“comment.char”。如果多余的逗号总是被八角形包围,那么可能有一个解决方案。我知道如何识别逗号过多的行。你为什么不做更多的侦探工作,更完整地描述问题?
-
我没有投票结束,尤其是原因。也许有人不小心点击了投票关闭?
-
@TylerRinker 这是今晚 [r] 标签中的第三个问题,其中有一个“坏演员”在有效问题上使用了这个接近的理由。我将它标记给 uber SO 模组,看看他们是否可以对此做点什么。