我能夠讀取自定義 XBRL 檔案。問題在于決議的物件具有初始期間(去年 12 月)的金額,而不是最后一個會計期間的金額。
from xbrl import XBRLParser, GAAP, GAAPSerializer
# xbrl comes from python-xbrl package
xbrl_parser = XBRLParser()
with open('filename.xbrl') as file:
xbrl = xbrl_parser.parse(file)
custom_obj = xbrl_parser.parseCustom(xbrl)
print(custom_obj.cashandcashequivalents)
這會按預期列印 2021/12 年的現金,而不是 2022/06 年的現金
Current output: 100545101000
Expected: 81518021000
我認為這些數字是您可以在 xbrl 檔案的第 9970 和 9972 行中看到的數字。
這些是行:
9970: <ifrs-full:CashAndCashEquivalents decimals="-3" contextRef="CierreTrimestreActual" unitRef="CLP">81518021000</ifrs-full:CashAndCashEquivalents>
9972: <ifrs-full:CashAndCashEquivalents decimals="-3" contextRef="SaldoActualInicio" unitRef="CLP">100545101000</ifrs-full:CashAndCashEquivalents>
如何設定 context/contextRef 以便custom_obj具有最新期間的編號?
XBRL 檔案:https ://www.cmfchile.cl/institucional/inc/inf_financiera/ifrs/safec_ifrs_verarchivo.php?auth=&send=&rut=70016160&mm=06&aa=2022&archivo=70016160_202206_C.zip&desc_archivo=Estados financieros (XBRLLTIPO) =XBRL
uj5u.com熱心網友回復:
我從未使用過 python-xbrl,但快速瀏覽一下源代碼,它看起來非常基本,并且對檔案的結構做出了許多毫無根據的假設。它似乎不支持您正在使用的報告使用的 XBRL 維度。
該模塊不是基于 XBRL 資料的適當模型構建的,這將使您可以輕松訪問每個事實的屬性,例如周期,并允許您輕松過濾到您想要的事實。
我認為該模塊不會讓你做你想做的事。查看這段代碼,它只是遍歷所有事實,并將它們粘貼到物件的屬性上,因此無論它在檔案中最后遇到的事實將是您得到的事實,并且鑒于該順序在 XBRL 檔案中并不重要,你得到哪一個只是運氣。
我強烈建議切換到更好的 XBRL 庫。 Arelle可能是使用最廣泛的,盡管你也可以使用我自己的pxp。
例如,任一工具都可用于將 XBRL 轉換為 JSON 格式,并會為您提供如下事實:
"f126928": {
"value": "81518021000",
"decimals": -3,
"dimensions": {
"concept": "ifrs-full:CashAndCashEquivalents",
"entity": "scheme:70016160-9",
"period": "2022-07-01T00:00:00",
"unit": "iso4217:CLP"
}
},
"f126930": {
"value": "100545101000",
"decimals": -3,
"dimensions": {
"concept": "ifrs-full:CashAndCashEquivalents",
"entity": "scheme:70016160-9",
"period": "2022-01-01T00:00:00",
"unit": "iso4217:CLP"
}
},
有了這個,您可以按 對事實進行排序period,然后選擇最近的事實。當然,您可以直接通過這些工具中的 Python 介面執行相同的操作,而不是通過 JSON。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/512184.html
上一篇:從陳述句中獲取引數
