Python経験数か月のものです。
何度実行しても、エラーが出ます。
実行ファイルは以下の通りです。
Python
1from edinet_xbrl.edinet_xbrl_parser import EdinetXbrlParser 2 3## init parser 4parser = EdinetXbrlParser() 5 6## parse xbrl file and get data container 7xbrl_file_path = r'C:\Users\Yuchi\Desktop\IRomiru_Development\TOYOTA\jpcrp020300-srs-001_E02144-000_2017-03-31_01_2017-08-04.xbrl' 8edinet_xbrl_object = parser.parse_file(xbrl_file_path) 9 10## 例えば、該当年度の総資産を取ってみる 11key = "jppfs_cor:Assets" 12context_ref = "2018" 13current_year_assets = edinet_xbrl_object.get_data_by_context_ref(key, context_ref).get_value()
実行してもAttributeErrorがでます。
エラー文を見る限りでは、下から2行目の.get_data_by_context_ref付近でNoneを返していることが原因らしいとわかりました。
以下がエラー文の全体です。
Traceback (most recent call last): File "c:/Users/Yuchi/Desktop/IRomiru_Development/xbrl-parser.py", line 13, in <module> current_year_assets = edinet_xbrl_object.get_data_by_context_ref(key, context_ref).get_value() AttributeError: 'NoneType' object has no attribute 'get_value'
しかし、何がどうなっているのかさっぱりでわかりません。
デバッグの仕方もわからず戸惑っています。
このメソッドは以下の通りです。
Python
1def get_data_by_context_ref(self, key, context_ref): 2 val = list(filter(lambda d: d.get_context_ref() == context_ref, self.get_data_list(key))) 3 if val: 4 return val[0] 5 else: 6 return None 7
全文はこちらです。
質問の仕方もかなり下手だと思いますが、お願いします。

あなたの回答
tips
プレビュー