簡體   English   中英

如何使用 Arelle 的 Python API 僅從 XBRL 文件中提取財務報表?

[英]How to extract financial statements only from XBRL files using Arelle's Python API?

不知何故,到目前為止, Arelle 的 python API 文檔已損壞,我設法使 API 工作並成功加載了一個 XBRL 文件。

無論如何,我的問題是:

如何僅從 XBRL 文件中提取 STATEMENTS?

下面是來自 Arelle 的 Windows 應用程序的屏幕截圖。

本例中使用的 URL: https : //www.sec.gov/Archives/edgar/data/101984/000010198416000062/ueic-20151231.xml

圖形用戶界面

我嘗試使用 API 進行試驗,這是我的代碼

from arelle import Cntlr

xbrl = Cntlr.Cntlr().modelManager.load('https://www.sec.gov/Archives/edgar/data/101984/000010198416000062/ueic-20151231.xml')

for fact in xbrl.facts:
   print(fact)

但是在執行這個片段之后,我被這些轟炸了:

PyCharm 命令行界面

我試圖讓每間可用按鍵modelFact之間的混合contextRefiddecimalsunitRef這是不是從我想提取有用的。 沒有文檔可以進一步幫助我解決這個問題,我在這里不知所措。 有人可以啟發我如何實現只提取語句嗎?

我正在做類似的事情,到目前為止已經取得了一些可以分享的進展:

通過 arelle 的 python 代碼文件,您可以檢測可以訪問不同類(例如 ModelFact、ModelContext、ModelUnit 等)的哪些屬性。

要提取單個數據,您可以將它們放入熊貓數據框中,如下所示:

factData=pd.DataFrame(data=[(fact.concept.qname,
                           fact.value,
                           fact.isNumeric,
                           fact.contextID,
                           fact.context.isStartEndPeriod,
                           fact.context.isInstantPeriod,
                           fact.context.isForeverPeriod,
                           fact.context.startDatetime,
                           fact.context.endDatetime,
                           fact.unitID) for fact in xbrl.facts])

現在可以更輕松地處理所有數據,過濾您想要使用的數據等。如果您想重現報表表,您還需要合並每個事實的鏈接,而不是排序和排序,但我也沒有走到這一步。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM