在 Python 中閱讀 XBRL

XBRL和內聯XBRL(iXBRL)文檔是結構化的電子業務報告,以滿足不同的業務需求。 XBRL 文檔是共同構成業務報告的事實集合。然而,iXBRL 報告是一種人類可讀的報告,其中嵌入了標記數據。我們可以輕鬆地以編程方式解析 XBRL 或 iXBRL 實例文檔,並讀取對像或元素,例如模式引用、上下文、單位、項目等。在上一篇文章中,我們已經了解瞭如何創建 XBRL 文檔。在本文中,我們將學習如何用 Python 解析 XBRL 文檔。

本文應涵蓋以下主題:

  1. 解析 XBRL 的 Python 金融庫
  2. 解析 XBRL 文件
  3. 解析 iXBRL 文件

用於解析 XBRL 的 Python 金融庫

要解析 XBRL 文件或實例文檔,我們將使用 Aspose.Finance for Python API。它允許創建 XBRL 實例、解析和驗證 XBRL 或 iXBRL 文件。

API 的 XbrlDocument 類表示包含一個或多個 XBRL 實例的 XBRL 文檔。 XBRL 實例是一個 XML 片段,根元素具有 XBRL 標記。 XbrlInstance 類提供各種方法和屬性來處理 XBRL 實例。 API 的 InlineXbrlDocument 類表示內聯 XBRL 文檔。

下載軟件包 或在控制台中使用以下 pip 命令從 PyPI 安裝 API:

pip install aspose-finance

在 Python 中解析 XBRL 文件

我們可以按照以下步驟輕鬆加載和解析 XBRL 實例文檔:

  1. 首先,使用 XbrlDocument 類加載 XBRL 文件。
  2. 接下來,使用 xbrlinstances 獲取所有實例。
  3. 然後,從集合中訪問所需的 XBRL 實例。
  4. 之後,解析 XBRL 實例的內容。
  5. 最後,顯示所需的數據/信息。

以下代碼示例顯示瞭如何在 Python 中解析 XBRL 實例。

# 此代碼示例演示瞭如何解析 XBRL 文檔。
from aspose.finance.xbrl import XbrlDocument

# 文檔目錄的路徑。
inputFile = "C:\\Files\\Finance\\sample.xbrl"

# 初始化 XbrlDocument
document = XbrlDocument(inputFile)

# 獲取實例
xbrlInstances = document.xbrl_instances

# 選擇具體實例
xbrlInstance = xbrlInstances[0]

# 解析
facts = xbrlInstance.facts
schemaRefs = xbrlInstance.schema_refs
contexts = xbrlInstance.contexts
units = xbrlInstance.units

# 顯示數據
if contexts.length > 0:
   for x in contexts:
        print("id: " + x.id)
        print("Entity Identifier : " + x.entity.identifier)

在 Python 中解析 iXBRL 文件

我們還可以按照以下步驟解析 iXBRL 文檔:

  1. 首先,使用 InlineXbrlDocument 類加載 iXBRL 文件。
  2. 解析 iXBRL 文檔的內容。

以下代碼示例展示瞭如何在 Python 中解析 iXBRL。

# 此代碼示例演示瞭如何解析 iXBRL 文檔。
from aspose.finance.xbrl.inline import InlineXbrlDocument

# 文檔目錄的路徑。
inputFile = "C:\\Files\\Finance\\Output.html"

# 加載輸入文件
document = InlineXbrlDocument(inputFile)

# 解析
inlineFacts = document.facts
contexts = document.contexts
units = document.units

獲得免費許可證

您可以 獲得免費的臨時許可證 來試用該庫,而沒有評估限制。

結論

在本文中,我們學習瞭如何在 Python 中解析 XBRL 或 iBXRL 文檔。我們還了解瞭如何以編程方式從 XBRL 實例對像中提取數據。此外,您可以使用 文檔 了解更多關於 Aspose.Finance for Python API 的信息。如有任何疑問,請隨時在我們的 論壇 上與我們聯繫。

也可以看看