Python 說明文件

2018-12-07 更新

Python

以下文件將說明如何使用TEJ Python API來存取TEJ 資料庫。

安裝方式

僅需要利用 pip 安裝 tejapi

pip install tejapi

認證方式

安裝完成後,需要在您的程式前面加上

import tejapi
tejapi.ApiConfig.api_key = "YOURAPIKEY"

使用方式

以上市(櫃)未調整股價(日) TWN/APRCD為例,可直接使用 tejapi.get()方法取得,範例如下

data = tejapi.get('TWN/APRCD')

提示:

若沒有提供篩選條件,會取出所有資料,建議使用下段介紹的篩選方式,加入適當的篩選條件。

資料篩選

如果需要針對欄位篩選,例如僅須取得台灣加權股價指數(Y9999),請直接增加欄位篩選條件 coid='Y9999'

data = tejapi.get('TWN/APRCD',coid='Y9999')

或是同時取得兩種指數資料Y9999及Y9998,請利用序列條件 coid=['Y9999','Y9998']

data = tejapi.get('TWN/APRCD',coid=['Y9999','Y9998'])

單次取得資料限制最多10,000筆,您可以增加 paginate=True,程式將自動分次取得資料

data = tejapi.get('TWN/APRCD',coid='Y9999', paginate=True)

 

提示:

系統限制單次取得最大筆數為10000筆,可使用 paginate=True 參數分次取得資料,但總筆數最多為1,000,000筆。請斟酌使用篩選條件,降低筆數。

您可以針對多個欄位做篩選

data = tejapi.get('TWN/APRCD',coid='Y9999', mdate='2018-01-20' ,paginate=True)

欄位篩選

若僅需要取得單一欄位,請利用特殊參數 opts中的columns條件,例如僅須取得開盤價欄位(open_d)

data = tejapi.get('TWN/APRCD',opts={'columns':'open_d'})

或是多個欄位(mdate,open_d)

data = tejapi.get('TWN/APRCD',opts={'columns':['mdate','open_d']})

資料篩選運算

您可以針對資料欄位範圍篩選,例如交易日大於2018-01-01的資料

data = tejapi.get('TWN/APRCD',coid='Y9999', mdate={'gt':'2018-01-01'}, paginate=True)

您可以針對資料欄位範圍篩選,例如交易日大於2018-01-01且小於2018-02-01的資料

data = tejapi.get('TWN/APRCD',coid='Y9999', mdate={'gt':'2018-01-01','lt':'2018-02-01'}, paginate=True)

篩選運算 詳細說明 使用範例
= 指定欄位等於指定的文字或數值 coid='Y9999'
gt 指定欄位大於指定的數值 mdate={'gt':'2018-01-01'}
lt 指定欄位小於指定的數值 mdate={'lt':'2018-01-01'}
gte 指定欄位大於或等於指定的數值 mdate={'gte':'2018-01-01'}
lte 指定欄位小於或等於指定的數值 mdate={'lte':'2018-01-01'}
ne 指定欄位不等於指定的數值 mdate={'ne':'2018-01-01'}

查詢參數

參數 是否必要 詳細說明 使用範例
columns 指定需要取得的欄位,欄位名稱用逗號隔開 opts={'columns':['coid','mdate','val']}
per_page 指定每次取得的資料數量(上限為10000),總筆數不得超過1,000,000筆 opts={'per_page':100}
sort 指定排序的欄位及排序方式,採用 [欄位名稱].[排序方式]表示,排序方式有正向排序(asc)及反向排序(desc),預設為正向排序。 opts={'sort':'mdate.desc'}