取得所有台股股票代號(二)
收集台股資料 1.2 - 找台股代號
來源二:證交所網站
用 Pandas 將 HTML 網頁表格轉為 DataFrame
再取第一欄有價證券代號及名稱並只留下代碼(會留下一些下方表頭文字)
為方便之後使用我將 Dataframe Pickle 起來
未上市上櫃公開發行 strMode=1
上市 strMode=2
上市上櫃債券 strMode=3
上櫃 strMode=4
興櫃 strMode=5
期貨及選擇權 strMode=6
開放式證券投資信託基金 strMode=7
未公開發行之創櫃板證券 strMode=8
買賣黃金現貨 strMode=9
外幣計價可轉換定期存單 strMode=10 (空白)
import os
import pandas as pd
if os.path.exists(html):
df = pd.read_html("http://isin.twse.com.tw/isin/C_public.jsp?strMode=4")
# 可將 strMode=4 的數字換成別的
df = pd.DataFrame(df[0])
df_ = pd.DataFrame(columns=df.ix[0])
for i in range(2,len(df)):
df_ = df_.append({'有價證券代號及名稱' : df.ix[i][0]},ignore_index=True)
c = df_['有價證券代號及名稱']
n = pd.DataFrame({'Code' : []})
for i in c:
a = i.split()
n = n.append({'Code' : [a[0]]},ignore_index=True)
print(n)
n.to_pickle('Data/codelist_4.pkl')
Print 結果
Code
0 [70001X]
1 [70001Y]
2 [70005X]
3 [707755]
4 [723985]
5 [724732]
6 [724740]
7 [724775]
8 [724837]
9 [724846]
10 [724887]
11 [724937]
12 [725226]
13 [725229]
14 [725251]
15 [725266]
16 [725288]
17 [725353]
18 [725358]
19 [725398]
20 [725413]
21 [725459]
22 [725462]
23 [725466]
24 [725478]
25 [725531]
26 [725554]
27 [725563]
28 [725568]
29 [725570]
... ...
4628 [8932]
4629 [8933]
4630 [8934]
4631 [8935]
4632 [8936]
4633 [8937]
4634 [8938]
4635 [8941]
4636 [8942]
4637 [9949]
4638 [9950]
4639 [9951]
4640 [9960]
4641 [9962]
4642 [臺灣存託憑證]
4643 [911613]
4644 [受益證券-資產基礎證券]
4645 [01014S]
4646 [01015S]
4647 [01016S]
4648 [01017S]
4649 [01101S]
4650 [01102S]
4651 [01103S]
4652 [01104S]
4653 [01106S]
4654 [01107S]
4655 [01108S]
4656 [01109S]
4657 [01110S]
[4658 rows x 1 columns]