2017-09-11 1 views
0

openxlsx()을 사용하여 웹 페이지에서 Excel 파일을 직접 읽으려고했습니다. 올바른 숫자의 열과 한 행이 누락되었지만 임의의 값이있는 데이터 프레임이 있음을 경고합니다 (값이 있습니다. 어디에도 값이 없어야하며 값은 원래 값과 일치하지 않습니다). 나는 해결책을 암시하는 패턴을 이해할 수 없었다.openxlsx를 사용하여 웹에서 Excel 가져 오기

다른 패키지 (readxl, xlsx)를 시도하고 가져 오려는 영역을 지정하여 실수를 찾으려고 시도했습니다. 여기 내 코드는 다음과 같습니다

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) 

내 모든 시도는 동일한 결과를 가지고 : 임의의 값을 단지 "년"열 제외 NA의가 있어야한다 처음 50 행.

해결 방법을 사용하여 시트를 단일 .csv 파일로 변환 했으므로 정상적으로 작동합니다. 그러나 자주 Excel 파일을 읽어야하고 위의 코드에서 잘못된 점을 이해하고 싶습니다.

data (코드와 동일한 링크)

+0

'sheet = "LP"'로 실제 시트 이름을 지정해 보았습니까? – TUSHAr

답변

1

GDP라는 2 위의 숨겨진 시트가있다. 그래서 시트 이름을 시도하십시오

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 ... 
관련 문제