Edinetコードの読み込み
PythonでEdinetコードリストから証券コードと会社名を読み出せるようにします。
EdinetのEDINETタクソノミ及びコードリストにあるコードリストダウンロードし、zipファイルからEdinetcodeDlInfocvs
を保存します。
このファイルは先頭行に「ダウンロード実行日」の記載があり、2行目に項目行、3行目以降に会社名や証券コードの記載があります。
このため、Pandas.DataFrame.csv_read
だと、うまく読めなかったため、csv.reader
を使い読み込んでみます。
import csv
import pandas as pd
with open('EdinetcodeDlInfo.csv') as f:
reader= csv.reader(f)
#先頭行をスキップする
next(reader)
# 2行目以を項目行する
col = next(reader)
# 3行目以降をデータとする
# rowは1行づつの配列となる。内包表記でまとめる
data = [row for row in reader]
df = pd.DataFrame(data, columns=col)
df.head(5)
EDINETコード | 提出者種別 | 上場区分 | 連結の有無 | 資本金 | 決算日 | 提出者名 | 提出者名(英字) | 提出者名(ヨミ) | 所在地 | 提出者業種 | 証券コード | 提出者法人番号 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | E00004 | 内国法人・組合 | 上場 | 有 | 1491 | 5月31日 | カネコ種苗株式会社 | KANEKO SEEDS CO., LTD. | カネコシュビョウカブシキガイシャ | 前橋市古市町一丁目50番地12 | 水産・農林業 | 13760 | 5070001000715 |
1 | E00006 | 内国法人・組合 | 上場 | 有 | 13500 | 5月31日 | 株式会社 サカタのタネ | SAKATA SEED CORPORATION | カブシキガイシャ サカタノタネ | 横浜市都筑区仲町台2-7-1 | 水産・農林業 | 13770 | 6020001008662 |
2 | E00007 | 内国法人・組合 | 上場 | 有 | 100 | 3月31日 | 株式会社雪国まいたけ | YUKIGUNI MAITAKE CO.,LTD. | カブシキカイシャユキグニマイタケ | 南魚沼市余川89番地 | 水産・農林業 | 13750 | 1010001185037 |
3 | E00008 | 内国法人・組合 | 上場 | 有 | 5500 | 3月31日 | ホクト株式会社 | HOKUTO CORPORATION | ホクトカブシキガイシャ | 長野市南堀138番地1 | 水産・農林業 | 13790 | 6100001003151 |
4 | E00009 | 内国法人・組合 | 上場 | 有 | 452 | 6月30日 | 株式会社アクシーズ | AXYZ Co., Ltd | カブシキガイシャアクシーズ | 鹿児島市草牟田二丁目1番8号 | 水産・農林業 | 13810 | 5340001000258 |
これでDataFrameを使えば、証券コードから会社名を読み込むことができます。
ただし、この証券コードは5桁になっているので、最後に0をつけてください。
code = 1376
df[df['証券コード'] == str(code) + '0']['提出者名'].values[0]
'カネコ種苗株式会社'