XBRLファイルをJSONに変換してウェブページに表示 - teatime77/xbrl-reader GitHub Wiki
XBRL Reader
Qiitaの以下の記事で紹介したアプリの操作手順です。
XBRLから上場企業の決算書の情報を得る。
- XBRLファイルをpythonで解析してJSONに変換します。
- 変換したJSONをJavascriptで読み込んでウェブページに表示します。
動作環境
以下の環境で動作を確認しています。
OS
- Windows10
- Ubuntu 16.04
python
- 3.6
- 3.7
※ python 3.5では型アノテーションの箇所でエラーになりました。
ウェブブラウザ
- Chrome
- Firefox
- Edge
※ ajaxでローカルファイルを読むので Chrome の場合はローカルサーバーが必要です。
※ IEでは動作しません。
インストール方法
1. gitでソースを取得します。
適当なフォルダーにソースをダウンロードします。
git clone https://github.com/teatime77/xbrl-reader.git
以下では XBRL-HOME というフォルダーにダウンロードしたとして説明します。
2. タクソノミファイルを取得します。
以下のURLからEDINETやIFRSのタクソノミが入ったファイルをダウンロードして解凍します。 http://lang.main.jp/xbrl/data.zip
解凍した data フォルダーを XBRL-HOME の直下に入れます。 以下のようなフォルダー構成になります。
XBRL-HOME - python
- docs
- web - report
- data - EDINET
- IFRS
3. サンプルのXBRLデータを取得します。
以下のURLからサンプルのXBRLデータをダウンロード後に解凍して、XBRL-HOME/web/report の下に入れます。
http://lang.main.jp/xbrl/sample.zip
以下のようなになります。
XBRL-HOME - python
- docs
- web - report - sample - Xbrl_Search_20181209_xxxxxx
- Xbrl_Search_20181209_xxxxxx
- ・・・
- data - EDINET
- IFRS
4. XHTMLのパーサーをインストールします。
XHTMLをパースするのに lxml を使っています。
lxml - XML and HTML with Python
pipでインストールできます。
pip install lxml
※ pythonで使う外部ライブラリは lxml だけです。
実行方法
python フォルダーに移動して xbrl_run.py を実行します。
cd XBRL-HOME/python
python xbrl_run.py
JSONファイルは XBRL-HOME/json に作られます。
JSONファイルは業種ごとに分かれて保存されます。 例えば、電気機器関連は electronics フォルダーで、小売業は retail フォルダーです。
会社と業種の一覧は XBRL-HOME/data/EDINET/EdinetcodeDlInfo.csv にあります。
※ xbrl_run.py は同じフォルダーにある xbrl_reader.py をマルチプロセスで実行するプログラムです。
デバッグするときは直接 xbrl_reader.py を実行すると使いやすいです。
python xbrl_reader.py
JSONの閲覧方法
XBRL-HOME/web/index.html をウェブブラウザで開くと JSONの中身を確認できます。
※ ajaxでローカルファイルを読むので Chrome の場合はローカルサーバーが必要です。