不知何故,截至日期已损坏documentation on Arelle's python API,我设法使API工作并成功加载XBRL文件。
无论如何,我的问题是:
如何仅从XBRL文件中提取STATEMENTS?
以下是Arelle的Windows应用程序的屏幕截图。
此示例中使用的网址: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)
但在执行此片段之后,我被这些轰炸了:
我尝试按modelFact
获取密钥,它是contextRef
,id
,decimals
和unitRef
之间的混合,这对我来说无益想要提取。没有文件可以帮助我们进一步解决这个问题,我在这里不知所措。有人可以启发我如何实现只提取语句吗?
答案 0 :(得分:1)
我正在做类似的事情,到目前为止已经取得了一些进展,我可以分享:
通过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])
现在可以更轻松地处理所有数据,过滤那些您想要使用的数据等。如果您想要重现语句表,您还需要为每个事实添加链接,而不是订购和排序,但我也没有这么远。