Posted at

東証1部上場銘柄の名前と証券コードを取得する

More than 5 years have passed since last update.

東京証券取引所の公式ページから,Excelファイルを取得し,pandasに格納します.

ついでにCSVファイルに保存もしておきましょうかね.


getStockNameYJ.py

# -*- coding: utf-8 -*-

from urllib2 import *
from lxml import html
import numpy as np
import pandas as pd

base_url = 'http://www.tse.or.jp'

def getTosyo1DataURI():
contents = urlopen(base_url + '/market/data/listed_companies/index.html').read()
dom = html.fromstring(contents)

ep = dom.xpath(u'.//td[contains(text(), "市場第一部 (内国株) ")]')[0].getparent()
e = ep.xpath('.//a')[0]

return base_url + e.attrib['href']

def getStockNameDF():
ds = np.DataSource(None)
f = ds.open(getTosyo1DataURI())
df = pd.ExcelFile(f).parse('Sheet1')
f.close()

return pd.DataFrame({'code': df[u"コード"].astype('int64'), 'name': df[u"銘柄名"]})

def saveCSV(df):
df[['code','name']].to_csv('tosyo1.csv', index=False, encoding='utf-8')

if __name__ == '__main__':
df = getStockNameDF()
#df.save('stock_name.pdpy')
#df = pd.DataFrame.load('stock_name.pdpy')
saveCSV(df)