2017-12-12 7 views
0

대문자 Excel 스프레드 시트를 가져 오기 위해 노력하고 있습니다. 가져 오기를 시도하고 있으므로 대차 대조표와 다소 비슷하게 보입니다.Excel로 대차 대조표 가져 오기 R

Assets    2011, 2010, 2009 
Non current assets 32.322 3.111 
intangible assets  12,222 

그 라인을 따라 무엇인가. 다른 대차 대조표 인 두 번째 탭도 가져 오려고합니다. 50 개 이상의 대차 대조표가 있다고 생각합니다. 이것이 분석에 비효율적일까요?

대차 대조표 (현재 자산, 모든 연도의 비유동 자산 등)에서 동일한 변수 중 일부에만 관심이 있습니다. 특정 행과 열을 Excel에서 가져올 수 있습니다 스프레드 시트?

예를 들어 가져 오기만하면됩니다.

A) Non current assets 32.322  3.111  322 
B) Current assets 345  543  2.233 

등? - 행 이름이 변경되지 않으므로이 작업을 수행하는 데 함수를 사용할 수 있습니까?

+2

이 [link] (https://stackoverflow.com/questions/12945687/read-all-worksheets-in-an-excel-workbook-into-an-r-list-with-data-frames)는 도움이됩니다. R 객체에 데이터가 있으면 관심있는 행만 추출 할 수 있습니다. 참고 : 해당 게시물 내의 업데이트 된 답변을 참조하십시오. – Tiffany

답변

1

quantmod보세요!

library(quantmod) 
library(xlsx) 
getFin("GS") 
gs_BS <- GS.f$BS$A 
str(gs_BS) 

#num [1:42, 1:4] 106533 NA 113003 71883 NA ... 
#- attr(*, "dimnames")=List of 2 
# ..$ : chr [1:42] "Cash & Equivalents" "Short Term Investments" "Cash and Short Term Investments" "Accounts Receivable - Trade, Net" ... 
# ..$ : chr [1:4] "2015-12-31" "2014-12-31" "2013-12-31" "2012-12-31" 
#- attr(*, "col_desc")= chr [1:4] "As of 2015-12-31" "As of 2014-12-31" "As of 2013-12-31" "As of 2012-12-31" 

transposed <- t(gs_BS) 
write.xlsx(transposed, "C:\\Users\\your_path_here\\Desktop\\bal_sheet.xlsx", row.names=FALSE) 
transp <- read.xlsx("C:\\Users\\your_path_here\\Desktop\\bal_sheet.xlsx" , sheetName="Sheet1") 
transp$year <- c("2015","2014","2013","2012")") 

이 역시 좋습니다.

require(quantmod) 

equityList <- read.csv("EquityList.csv", header = FALSE, stringsAsFactors = FALSE) 
names(equityList) <- c ("Ticker") 

for (i in 1 : length(equityList$Ticker)) { 
     temp<-getFinancials(equityList$Ticker[i],src="google",auto.assign=FALSE) 
     write.csv(temp$IS$A,paste(equityList$Ticker[i],"_Income_Statement(Annual).csv",sep="")) 
     write.csv(temp$IS$A,paste(equityList$Ticker[i],"_Balance_Sheet(Annual).csv",sep="")) 
     write.csv(temp$IS$A,paste(equityList$Ticker[i],"_Cash_Flow(Annual).csv",sep="")) 
     write.csv(temp$IS$A,paste(equityList$Ticker[i],"_Income_Statement(Quarterly).csv",sep="")) 
     write.csv(temp$IS$A,paste(equityList$Ticker[i],"_Balance_Sheet(Quaterly).csv",sep="")) 
     write.csv(temp$IS$A,paste(equityList$Ticker[i],"_Cash_Flow(Quaterly).csv",sep="")) 
} 

또한 확인해보십시오.

https://msperlin.github.io/pafdR/importingInternet.html

매우 유사한 작업을 수행 할 수있는 다른 방법이 있습니다. 더 많은 도움이 필요하면 다시 게시하십시오.