2017-09-11 53 views
0

我试图直接从网页上使用openxlsx()来读取Excel文件,而不是一个警告我得到了一个数据框,列数正确,一行丢失,但看似随机的值(有值哪里不应该有任何和价值不符合原来的)。我无法想出一个能够暗示解决方案的模式。使用openxlsx从网站导入Excel

我尝试了不同的软件包(readxlxlsx),并试图通过指定要导入的区域来查找错误。这里是我的代码:

library(openxlsx) 
lp <- read.xlsx("http://www.longtermproductivity.com/download/BCLDatabase_online_v2.0.xlsx", sheet = 2, skipEmptyRows = F, skipEmptyCols = F, rows=1:218, cols=1:26) 
lp2 <- read.xlsx("BCLDatabase_online_v2.0.xlsx", sheet = 2) 

所有我尝试了同样的结果:随机值中的前50行,其中应该只有NA的除了在“年”一栏。

我使用了一种解决方法,只需将工作表转换为单个.csv文件即可,工作正常。但是,我经常需要阅读excel文件,并希望了解上述代码中的错误。

data(同一条链路中的代码)

+0

您是否尝试将实际表名称指定为'sheet =“LP”'? – TUSHAr

回答

1

有一个在称为GDP第二名隐藏薄片。所以请试试表格名称

library(openxlsx) 
    lp read.xlsx("http://www.longtermproductivity.com/download/BCLDatabase_online_v2.0.xlsx", 
sheet = "LP") 
    str(lp) 

'data.frame': 217 obs. of 25 variables: 
$ Year  : chr "1800" "1801" "1802" "1803" ... 
$ ARG  : num NA NA NA NA NA NA NA NA NA NA ... 
$ AUS  : num NA NA NA NA NA NA NA NA NA NA ... 
$ AUT  : num NA NA NA NA NA NA NA NA NA NA ... 
$ BEL  : num NA NA NA NA NA NA NA NA NA NA ... 
$ BRA  : num NA NA NA NA NA NA NA NA NA NA ... 
$ CAN  : num NA NA NA NA NA NA NA NA NA NA ... 
$ CHE  : num NA NA NA NA NA NA NA NA NA NA ... 
$ CHL  : num NA NA NA NA NA NA NA NA NA NA ... 
$ DEU  : num NA NA NA NA NA NA NA NA NA NA ... 
$ DNK  : num NA NA NA NA NA NA NA NA NA NA ... 
$ ESP  : num NA NA NA NA NA NA NA NA NA NA ... 
$ FIN  : num NA NA NA NA NA NA NA NA NA NA ... 
$ FRA  : num NA NA NA NA NA NA NA NA NA NA ... 
$ GBR  : num NA NA NA NA NA NA NA NA NA NA ... 
$ ITA  : num NA NA NA NA NA NA NA NA NA NA ... 
$ JPN  : num NA NA NA NA NA NA NA NA NA NA ... 
$ MEX  : num NA NA NA NA NA NA NA NA NA NA ... 
$ NLD  : num NA NA NA NA NA NA NA NA NA NA ... 
$ NOR  : num NA NA NA NA NA NA NA NA NA NA ... 
$ NZL  : num NA NA NA NA NA NA NA NA NA NA ... 
$ PRT  : num NA NA NA NA NA NA NA NA NA NA ... 
$ SWE  : num NA NA NA NA NA NA NA NA NA NA ... 
$ USA  : num NA NA NA NA NA NA NA NA NA NA ... 
$ Euro.Area: num NA NA NA NA NA NA NA NA NA NA ...