【メモ】EDINETのデータをなんとか利用したい(python)

この記事では、EDINETから有価証券報告書のデータを利用するとき(現在進行中)に何をしたかをメモとして残す。

1. どうやって扱える形のデータにするか?
2. zipファイルをpythonで扱ったので、その復讐。


1. どうやって扱える形のデータにするか?

➀ EDINETのAPIで有価証券のみのdocIDを集めてリストにする。(XBRLJapanさんの記事を参照しながら)

② ➀で収集したリストと同じ名前のフォルダを作り、その中にEDINETのAPIを利用してzipファイルをダウンロードする。

③ (②と同時進行)②で作ったフォルダ内でzipファイルの解凍と、解凍していらなくなったzipファイルの削除をしていく。

④ ダウンロードしたフォルダの中に、xbrlファイルが(多分)1つ含まれているので、それをcsvとかの扱いやすい形にして保存する。(バフェットコードさんのxbrlをパースするライブラリが便利そう)

⑤ csvファイルを証券コードもしくは、edinetコードごとにまとめていく。


2. zipファイルをpythonで扱ったので、その復讐。

ちなみに、上の➀〜⑤のうちの②・③の一部にあたるコード

# resの中に、EDINETから受け取ったzipファイルのデータが入っている。
zip_file = zipfile.ZipFile(io.BytesIO(res.content))
zip_file.extractall()

if res.status_code == 200:
     print(zip_file)
     with open(filename, 'wb') as file:
     for chunk in res.iter_content(chunk_size=1024):
     file.write(chunk)
     # zip file を解凍
     with zipfile.ZipFile(filename) as existing_zip:
         existing_zip.extractall(new_dir_path)
           
     # いらなくなったzip fileを削除
     os.remove(filename)​


とりあえず、③までのコードはかけたので、④をどうやってやっていくかを考えていく。

いいなと思ったら応援しよう!