Lesen Sie XBRL in Python

XBRL- und Inline-XBRL-Dokumente (iXBRL) sind strukturierte elektronische Geschäftsberichte, um unterschiedliche Geschäftsanforderungen zu erfüllen. Ein XBRL-Dokument ist eine Sammlung von Fakten, die zusammen einen Geschäftsbericht ergeben. Dagegen ist ein iXBRL-Bericht ein für Menschen lesbarer Bericht mit darin eingebetteten getaggten Daten. Wir können ein XBRL- oder iXBRL-Instanzdokument problemlos programmgesteuert parsen und Objekte oder Elemente wie Schemareferenz, Kontext, Einheit, Elemente usw. lesen. Im vorherigen Post haben wir gesehen, wie man ein XBRL-Dokument erstellt. In diesem Artikel lernen wir, wie man ein XBRL-Dokument in Python parst.

Folgende Themen sollen in diesem Artikel behandelt werden:

  1. Python-Finanzbibliothek zum Analysieren von XBRL
  2. XBRL-Datei parsen
  3. iXBRL-Datei parsen

Python-Finanzbibliothek zum Analysieren von XBRL

Um eine XBRL-Datei oder ein Instanzdokument zu parsen, verwenden wir die API Aspose.Finance for Python. Es ermöglicht das Erstellen von XBRL-Instanzen, das Analysieren und Validieren der XBRL- oder iXBRL-Dateien.

Die Klasse XbrlDocument der API stellt ein XBRL-Dokument dar, das eine oder mehrere XBRL-Instanzen enthält. Eine XBRL-Instanz ist ein XML-Fragment, wobei das Wurzelelement ein XBRL-Tag hat. Die Klasse XbrlInstance stellt verschiedene Methoden und Eigenschaften für die Arbeit mit XBRL-Instanzen bereit. Die Klasse InlineXbrlDocument der API repräsentiert ein Inline-XBRL-Dokument.

Bitte laden Sie das Paket herunter oder installieren Sie die API von PyPI mit dem folgenden Pip-Befehl in der Konsole:

pip install aspose-finance

Analysieren Sie die XBRL-Datei in Python

Wir können ein XBRL-Instanzdokument einfach laden und parsen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst eine XBRL-Datei mit der XbrlDocument-Klasse.
  2. Rufen Sie als Nächstes alle Instanzen mit den xbrlinstances ab.
  3. Greifen Sie dann aus der Sammlung auf die gewünschte XBRL-Instanz zu.
  4. Analysieren Sie danach den Inhalt der XBRL-Instanz.
  5. Zeigen Sie abschließend die erforderlichen Daten/Informationen an.

Das folgende Codebeispiel zeigt, wie eine XBRL-Instanz in Python analysiert wird.

# Dieses Codebeispiel zeigt, wie ein XBRL-Dokument analysiert wird.
from aspose.finance.xbrl import XbrlDocument

# Der Pfad zum Dokumentenverzeichnis.
inputFile = "C:\\Files\\Finance\\sample.xbrl"

# Initialisieren Sie XbrlDocument
document = XbrlDocument(inputFile)

# Instanzen erhalten
xbrlInstances = document.xbrl_instances

# Wählen Sie eine bestimmte Instanz aus
xbrlInstance = xbrlInstances[0]

# Analysieren
facts = xbrlInstance.facts
schemaRefs = xbrlInstance.schema_refs
contexts = xbrlInstance.contexts
units = xbrlInstance.units

# Daten anzeigen
if contexts.length > 0:
    for x in contexts:
        print("id: " + x.id)
        print("Entity Identifier : " + x.entity.identifier)

Analysieren Sie die iXBRL-Datei in Python

Wir können ein iXBRL-Dokument auch parsen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst eine iXBRL-Datei mithilfe der InlineXbrlDocument-Klasse.
  2. Analysieren Sie den Inhalt des iXBRL-Dokuments.

Das folgende Codebeispiel zeigt, wie ein iXBRL in Python analysiert wird.

# Dieses Codebeispiel zeigt, wie ein iXBRL-Dokument analysiert wird.
from aspose.finance.xbrl.inline import InlineXbrlDocument

# Der Pfad zum Dokumentenverzeichnis.
inputFile = "C:\\Files\\Finance\\Output.html"

# Eingabedatei laden
document = InlineXbrlDocument(inputFile)

# Analysieren
inlineFacts = document.facts
contexts = document.contexts
units = document.units

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die Bibliothek ohne Evaluierungseinschränkungen zu testen.

Fazit

In diesem Artikel haben wir gelernt, wie man ein XBRL- oder iBXRL-Dokument in Python parst. Wir haben auch gesehen, wie Daten programmgesteuert aus XBRL-Instanzobjekten extrahiert werden. Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.Finance for Python API erfahren. Bei Unklarheiten können Sie sich gerne in unserem Forum an uns wenden.

Siehe auch