用 Python 读取 XBRL

XBRL 和 Inline 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 的信息。如有任何歧义,请随时在我们的 论坛 上与我们联系。

也可以看看