13

大量の XBRL ドキュメント (> 1m の個別ファイル) を処理するプロジェクトに取り組んでいます。私は XBRL にまったく慣れていないので、現時点ではかなり迷っています。

これらの XBRL ドキュメントに関連するデータが別の MySQL データベースにあり、XBRL データを MySQL に追加して、すべてを 1 つのデータベースに格納したいと考えています。

XBRL ドキュメントから MySQL にデータを転送するための最良の方法は何ですか?

利用可能な一括処理ライブラリはありますか?

これらの問題に関するチュートリアルを探していましたが、基本的な紹介を提供するものは何も見つかりませんでした。多くの高レベルの情報だけです。

4

4 に答える 4

2

XBRLMySQL は構造化されたデータ ストレージであり、ビジネス ドキュメントをデジタル形式にマッピングするための単なる表現であることをご存じでしょうか。XBRLこれはXML、構造化されていないことを意味し、ドキュメントから必要なデータがその特定のドキュメントで発生する場合と発生しない場合があります。他の追加情報も含めることができます。XSDXML を構造化する方法と、任意のタグが出現する回数を定義します。あなたの質問に答えるためeXistDBに、XBRLドキュメントを保存するために過去に使用した を使用できます。ただし、速度が遅くなる場合もあります。からのデータだけがXBRL必要で、MySQL データベースに保存する必要がある場合は、XPATH. EquityTotalEndingBalance次の単純な python コードでは、とReservesTotalEndingBalanceから値を取得できます。このドキュメント

from lxml import etree
root = etree.fromstring(open("file.xml").read())
nsmap = root.nsmap
nsmap.pop(None) # There was some error without this.
data_one = root.xpath("//iascf-pfs:EquityTotalEndingBalance/text()",namespaces=nsmap)
data_two = root.xpath("//novartis:ReservesTotalEndingBalance/text()",namespaces=nsmap)
print data_one
print data_two

このコードは値を出力します:

['37216000000', '36862000000', '42245000000']
['35903000000', '35558000000', '40971000000']

では、どうすれば問題を解決できますか?

  1. または、特定のデータを取得するために、XpathNoSQLなどのベースの XML ドキュメント ストレージを選択する必要があります。eXistDB

  2. 上記のように XBRL ドキュメントを手動で解析し、XPath を直接起動してデータを保存できます。

すべてのタイプのドキュメントからすべてのデータを使用する必要がある場合、複雑さが生じます。そのため、これらのドキュメントから消費するものを制限する必要があります。

于 2016-07-16T15:31:14.570 に答える