不能将这个excel文件导入到R中

我无法将文件导入到R中。该文件从以下网站获得: https : //report.nih.gov/award/index.cfm ,点击“导入表”并下载了.xls文件1992年。

这个图像可能有助于描述我如何检索数据 描述如何从NIH数据库中检索数据的图像

以下是我尝试在控制台中input的内容以及结果:

input:

> library('readxl') > data1992 <- read_excel("1992.xls") 

输出:

 Not an excel file Error in eval(substitute(expr), envir, enclos) : Failed to open /home/chrx/Documents/NIH Funding Awards, 1992 - 2016/1992.xls 

input:

 > data1992 <- read.csv ("1992.xls", sep ="\t") 

输出:

 Error in read.table(file = file, header = header, sep = sep, quote = quote, : more columns than column names 

我不知道这是否相关,但我使用GalliumOS(Linux)。 因为我正在使用Linux,我的电脑上没有安装Excel。 LibreOffice是。

为什么还要把数据导入和导出.csv文件,如果它正好在网页上供您抓取?

 # note the query parameters in the url when you apply a filter, eg fy= url <- 'http://report.nih.gov/award/index.cfm?fy=1992' library('rvest') library('magrittr') library('dplyr') df <- url %>% read_html() %>% html_nodes(xpath='//*[@id="orgtable"]') %>% html_table()%>% extract2(1) %>% mutate(Funding = as.numeric(gsub('[^0-9.]','',Funding))) head(df) 

回报

  Organization City State Country Awards Funding 1 AT STILL UNIVERSITY OF HEALTH SCIENCES KIRKSVILLE MO UNITED STATES 3 356221 2 AAC ASSOCIATES, INC. VIENNA VA UNITED STATES 10 1097158 3 AARON DIAMOND AIDS RESEARCH CENTER NEW YORK NY UNITED STATES 3 629946 4 ABBOTT LABORATORIES NORTH CHICAGO IL UNITED STATES 4 1757241 5 ABIOMED, INC. DANVERS MA UNITED STATES 6 2161146 6 ABRATECH CORPORATION SAUSALITO CA UNITED STATES 1 450411 

如果你需要循环1992年到现在或类似的东西,这个程序化的方法将节省大量的时间,而不是处理一堆平面文件。

这对我有用

 library(gdata) dat1 <- read.xls("1992.xls") 

如果你在32位Windows上,这也将工作:

 require(RODBC) dat1 <- odbcConnectExcel("1992.xls") 

对于依赖基于rJava的软件包(如xlsx几个选项,可以查看此链接 。

正如有人在评论中提到的那样,将文件另存为.csv并以这种方式阅读也很容易。 这将节省您处理导入的文件上奇怪的格式或元数据的影响的麻烦:

 dat1 <- read.csv("1992.csv") head(dat1) 
  ORGANIZATION CITY STATE COUNTRY AWARDS FUNDING 1 AT STILL UNIVERSITY OF HEALTH SCIENCES KIRKSVILLE MO UNITED STATES 3 $356,221 2 AAC ASSOCIATES, INC. VIENNA VA UNITED STATES 10 $1,097,158 3 AARON DIAMOND AIDS RESEARCH CENTER NEW YORK NY UNITED STATES 3 $629,946 4 ABBOTT LABORATORIES NORTH CHICAGO IL UNITED STATES 4 $1,757,241 5 ABIOMED, INC. DANVERS MA UNITED STATES 6 $2,161,146 6 ABRATECH CORPORATION SAUSALITO CA UNITED STATES 1 $450,411 

转换为.csv通常也是我认为最快的方法(尽pipe这只是大数据的一个问题)。