4

不知何故,由于迄今为止有关 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 CLI

我尝试获取可用的密钥,它是,和modelFact之间的混合contextRef,这对我想要提取的内容没有帮助。由于没有文档可以进一步帮助解决此问题,我在这里不知所措。有人可以启发我如何实现仅提取语句吗?iddecimalsunitRef

4

1 回答 1

3

我正在做类似的事情,到目前为止已经取得了一些进展,我可以分享:

通过 arelle 的 python 代码文件,您可以检测到您可以访问不同类的哪些属性,例如 ModelFact、ModelContext、ModelUnit 等。

要提取单个数据,您可以例如将它们放入 panda 数据框中,如下所示:

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])

现在更容易处理所有数据,过滤您想要使用的数据等。如果您想重现报表表,您还需要合并每个事实的链接,而不是排序和排序,但我也没有走到这一步。

于 2016-05-26T20:55:16.070 回答