read.csv无法读取完整文件

时间:2015-05-05 10:50:06

标签: r csv

我正在努力用read.csv读取R中的大型(22MB)数据文件。我知道有很多类似的问题,但我发现的问题似乎都没有帮助我解决我的问题(onetwothree, 我的文件有6列,除了一列是整数,还有330,001行。 我可以在excel中打开文件。不再有空单元格,除第一个(id)之外的每一列都有NA个值。

当我使用以下代码时:

mt <- read.csv("C:/path/master.csv", header=T, sep=",", encoding="utf-8")

我得到79,024行 将此更改为以下内容(请参阅here

mt <- read.csv("C:/Users/slebex/Desktop/PhB Data/master.csv", header=T, sep=",", quote="", encoding="utf-8")

将rowcount增加到104,510,但将所有整数读取为因子(或添加stringsAsFactors = F时的字符)。

此外,使用以下代码会给出以下警告消息,并仅加载26,234个元素的大字符

mt <- readLines(file("C:/Users/slebex/Desktop/PhB Data/master.csv", encoding="utf-8"))

Warning messages:
1: invalid input found on input connection 'C:/path/master.csv' 
2: In readLines(file("C:/path/master.csv",  :
  incomplete final line found on 'C:/path/master.csv'

数据表看起来像这样 head(mt)

  id App_date Grant_date Prior_date Num_inventors Assignee
1  1       NA   18370630         NA             1     <NA>
2  2       NA   18371028         NA             1     <NA>
3  3       NA   18371028         NA             1     <NA>
4  4       NA   18380109         NA             1     <NA>
5  5       NA   18380203         NA             1     <NA>
6  6       NA   18380210         NA             1     <NA>

tail(mt)

         id App_date Grant_date Prior_date Num_inventors
79019 79019 19990826   20010206   19990826             2
79020 79020 19990127   20010206   19920501             2
79021 79021 19980213   20010206   19951002             4
79022 79022 19941108   20010206   19931108             4
79023 79023 19941208   20010206   19901025             1
79024 79024 19980918   20010206   19931214             1
                                                                                                                                 Assignee
79019                                                                                                          Novo Nordisk Biotech, Inc.
79020                                                                                          Trustees Of The University Of Pennsylvania
79021 Mohammad W. Katoot, Katoot, Administrator Karen Robbyn Goodan, Katoot, Administrator Ali Maroof, Katoot, Administrator Ahmed Maroof
79022                                                                                                                   Mcgill University
79023                                                                         The Trustees Of Columbia University In The City Of New York
79024                                                                                                         Centr Embrionalnikh Tkaney 

如您所见,Assignee变量包含各种形式的标点符号。也许这会导致我不确定的问题(见comments here)。我删除了所有双空格,将所有逗号更改为分号,并删除了所有引号,但这没有帮助。

关注this question我做了以下

library(readr)
mt <- read_csv("C:/Users/slebex/Desktop/PhB Data/master.csv")

这给了我以下错误

Warning message:
660101 problems parsing 'C:/Users/slebex/Desktop/PhB Data/master.csv'. See problems(...) for more details.

尽管错误,数据集已完全加载,但我的两个列突然完全由NA值组成。

如果相关,请在sessionInfo()下面找到

R version 3.2.0 (2015-04-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_Singapore.1252  LC_CTYPE=English_Singapore.1252   
[3] LC_MONETARY=English_Singapore.1252 LC_NUMERIC=C                      
[5] LC_TIME=English_Singapore.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] tools_3.2.0

欢迎任何建议

0 个答案:

没有答案