【メモ】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)
とりあえず、③までのコードはかけたので、④をどうやってやっていくかを考えていく。