我从《华尔街日报》下载的数据中有以下输出。
> Search(MySymList, " Net Income")
Fiscal year is July-June. All values AUD Millions. 2018 2017 2016 2015 2014 5-year trend
82 Consolidated Net Income 949 814 376 850 769
86 Net Income 934 792 335 817 737
88 Net Income Growth 18.04% 135.99% -58.93% 10.83% -
103 Net Income After Extraordinaries 934 792 335 817 909
107 Net Income Available to Common 934 792 335 817 565
我想捕获,但由于数据中的位置(如行号)Net Income
没有一致性,我尝试使用特别是。它在查找大多数信息方面做得很好,但我对如何删除其他行感到困惑。Net Income
library qdap
Search
我认为这exclude
可能会有所帮助,但它似乎不起作用。
Search(MySymList, " Net Income", exclude = "Common")
Error in agrep(term, x, ignore.case = TRUE, max.distance = max.distance, :
unused argument (exclude = "Common")
我可以Net Income
通过其他方式获得,但我更愿意只使用一个功能,即存在Search
或任何library qdap
可能提供的功能。
任何指导都将受到欢迎。
编辑!!
缩减代码如下,因为运行起来比为其提供数据更容易。该符号与原始符号不同,因此行号将发生变化。
library(httr)
library(XML)
library(data.table)
library(qdap)
library(Hmisc)
getwsj.quotes <- function(Symbol)
{
MyUrl <- sprintf("https://quotes.wsj.com/AU/XASX/%s/financials/annual/income-statement", Symbol)
Symbol.Data <- GET(MyUrl)
x <- content(Symbol.Data, as = 'text')
wsj.tables <- sub('cr_dataTable cr_sub_capital', '\\1', x)
SymData <- readHTMLTable(wsj.tables)
return(SymData)
}
TickerList <- c("AMC")
SymbolDataList <- lapply(TickerList, FUN = getwsj.quotes)
MySymList <- data.frame()
MySymList <- SymbolDataList[[1]][[2]]
Search(MySymList, " Net Income")
问候斯蒂芬