Pythonで株の銘柄コード一覧を取得する方法
Python上で銘柄コード一覧を取得して、Pandas.DataFrameに格納する方法についてまとめます。手っ取り早くソースコードを見たい方は本記事最下段の参考まで飛んでください。
1.概要
- JPX(日本取引所)から最新の銘柄コード一覧(Excel)をPythonでダウンロード
- ダウンロードしたExcelをPythonで開いてPandas.DataFrameに取り込む
2.JPXから銘柄コード一覧をダウンロード
RequestsというHTTPライブラリを使用して、Excelのダウンロードを行います。Requestsの詳細については以下が良くまとまっています。
Requests の使い方 (Python Library) - Qiita
import requests url = "https://www.jpx.co.jp/markets/statistics-equities/misc/tvdivq0000001vg2-att/data_j.xls" r = requests.get(url) with open('data_j.xls', 'wb') as output: output.write(r.content)
Excelダウンロード用のURLを指定して、requests.get関数を使用レスポンスボディを取得して、content関数でデータ取得するだけです。URLはJPXのホームページから以下の通り取得可能です。
3.ダウンロードしたExcelをPandas.DataFrameに取り込む
pandas.read_excel関数を使ってダウンロードしたExcelを開いてDataFrameに取り込むだけです。
import pandas as pd stocklist = pd.read_excel("./data_j.xls") stocklist.loc[stocklist["市場・商品区分"]=="市場第一部(内国株)", ["コード","銘柄名","33業種コード","33業種区分","規模コード","規模区分"] ]
参考:ソースコード全文
import requests url = "https://www.jpx.co.jp/markets/statistics-equities/misc/tvdivq0000001vg2-att/data_j.xls" r = requests.get(url) with open('data_j.xls', 'wb') as output: output.write(r.content) import pandas as pd stocklist = pd.read_excel("./data_j.xls") stocklist.loc[stocklist["市場・商品区分"]=="市場第一部(内国株)", ["コード","銘柄名","33業種コード","33業種区分","規模コード","規模区分"] ]