tushare 使用分享

? ? ? Tushare是一個(gè)免費(fèi)贞奋、開(kāi)源的python財(cái)經(jīng)數(shù)據(jù)接口包。主要實(shí)現(xiàn)對(duì)股票等金融數(shù)據(jù)從數(shù)據(jù)采集焕刮、清洗加工 到 數(shù)據(jù)存儲(chǔ)的過(guò)程,能夠?yàn)榻鹑诜治鋈藛T提供快速墙杯、整潔配并、和多樣的便于分析的數(shù)據(jù),為他們?cè)跀?shù)據(jù)獲取方面極大地減輕工作量高镐,使他們更加專注于策略和模型的研究與實(shí)現(xiàn)上溉旋。考慮到Python pandas包在金融量化分析中體現(xiàn)出的優(yōu)勢(shì)嫉髓,Tushare返回的絕大部分的數(shù)據(jù)格式都是pandas DataFrame類型观腊,非常便于用pandas/NumPy/Matplotlib進(jìn)行數(shù)據(jù)分析和可視化。當(dāng)然算行,如果您習(xí)慣了用Excel或者關(guān)系型數(shù)據(jù)庫(kù)做分析梧油,您也可以通過(guò)Tushare的數(shù)據(jù)存儲(chǔ)功能,將數(shù)據(jù)全部保存到本地后進(jìn)行分析州邢。應(yīng)一些用戶的請(qǐng)求婶溯,從0.2.5版本開(kāi)始,Tushare同時(shí)兼容Python 2.x和Python 3.x偷霉,對(duì)部分代碼進(jìn)行了重構(gòu)迄委,并優(yōu)化了一些算法,確保數(shù)據(jù)獲取的高效和穩(wěn)定类少。

? ? ? 不管你是量化投資分析師叙身,還是正在學(xué)習(xí)Python進(jìn)行數(shù)據(jù)分析的學(xué)習(xí)者,這種方法獲取的數(shù)據(jù)都可以適用硫狞。

一信轿、獲取前的準(zhǔn)備

? ? ? ? 1、安裝Python残吩,這個(gè)不再贅述财忽,Python官網(wǎng)下載安裝適合自己計(jì)算機(jī)的版本。

2泣侮、安裝pandas即彪,我是直接安裝的Anaconda,包含有pandas活尊,很實(shí)用隶校,建議安裝Anaconda漏益,下載地址:https://www.anaconda.com/download/?,選擇適合的版本安裝深胳。

3绰疤、Tushare的下載安裝,下載地址:https://pypi.python.org/pypi/tushare?舞终,下載完之后解壓即可轻庆,無(wú)需安裝。

二敛劝、獲取數(shù)據(jù)

? 1余爆、獲取歷史行情數(shù)據(jù) get_hist_data()

? ? ? ?獲取個(gè)股歷史交易數(shù)據(jù)(包括均線數(shù)據(jù)),可以通過(guò)參數(shù)設(shè)置獲取日k線攘蔽、周k線龙屉、月k線,以及5分鐘满俗、15分鐘转捕、30分鐘和60分鐘k線數(shù)據(jù)。本接口只能獲取近3年的日線數(shù)據(jù)唆垃,適合搭配均線數(shù)據(jù)進(jìn)行選股和分析五芝。

參數(shù)說(shuō)明:

code:股票代碼,即6位數(shù)字代碼辕万,或者指數(shù)代碼(sh=上證指數(shù) sz=深圳成指 hs300=滬深300指數(shù) sz50=上證50 zxb=中小板 cyb=創(chuàng)業(yè)板)

start:開(kāi)始日期枢步,格式Y(jié)YYY-MM-DD

end:結(jié)束日期,格式Y(jié)YYY-MM-DD

ktype:數(shù)據(jù)類型渐尿,D=日k線 W=周 M=月 5=5分鐘 15=15分鐘 30=30分鐘 60=60分鐘醉途,默認(rèn)為D

retry_count:當(dāng)網(wǎng)絡(luò)異常后重試次數(shù),默認(rèn)為3

pause:重試時(shí)停頓秒數(shù)砖茸,默認(rèn)為0

返回值說(shuō)明:

date:日期

open:開(kāi)盤(pán)價(jià)

high:最高價(jià)

close:收盤(pán)價(jià)

low:最低價(jià)

volume:成交量

price_change:價(jià)格變動(dòng)

p_change:漲跌幅

ma5:5日均價(jià)

ma10:10日均價(jià)

ma20:20日均價(jià)

v_ma5:5日均量

v_ma10:10日均量

v_ma20:20日均量

turnover:換手率[注:指數(shù)無(wú)此項(xiàng)]

? ? ? ? 使用方法:

import tushare as ts

data=ts.get_hist_data('300274')print(data)

? ? ? ? 需要注意的是路徑要在tushare文件下隘擎,否則會(huì)報(bào)錯(cuò)。

? ? ? ? 執(zhí)行結(jié)果:

?View Code

? ? ? ? 獲取某一時(shí)間段的歷史數(shù)據(jù)

import tushare as ts

data=ts.get_hist_data('300274',start='2017-01-01',end='2018-03-27')print(data)

? ? ? ? ?執(zhí)行結(jié)果:

?View Code

? ? ? ? 另外一個(gè)獲取歷史數(shù)據(jù)的函數(shù)get_h_data()凉夯。

import tushare as ts

data=ts.get_h_data('300274')print(data)

? ? ? ? 執(zhí)行結(jié)果:

?View Code

? ? ? ? ?在不指定開(kāi)始時(shí)間和結(jié)束時(shí)間時(shí)货葬,該函數(shù)默認(rèn)返回最近一年的日線數(shù)據(jù),返回的數(shù)據(jù)與get_hist_data不同的是劲够,該函數(shù)只返回開(kāi)盤(pán)價(jià)(open)震桶、最高價(jià)(high)、收盤(pán)價(jià)(close)征绎、最低價(jià)(low)蹲姐、成交量(volume)、成交金額(amount)六列 ,同樣加上時(shí)間段也可以獲取相應(yīng)數(shù)據(jù)淤堵。


? ? ? ? 第三個(gè)獲取歷史數(shù)據(jù)的函數(shù)get_k_data()寝衫。

import tushare as ts

data=ts.get_k_data('300274')print(data)

? ? ? ?執(zhí)行結(jié)果:

?View Code

? ? ? ?與前兩個(gè)函數(shù)相比顷扩,這個(gè)函數(shù)獲取數(shù)據(jù)的速度很明顯要快很多拐邪,而且可以返回每一只股票從上市開(kāi)始到當(dāng)前交易日的所有日線數(shù)據(jù),這個(gè)有點(diǎn)是前兩個(gè)函數(shù)都不具備的隘截,更重要的是扎阶,如果批量3000多只股票的數(shù)據(jù),前兩個(gè)都不如get_k_data()穩(wěn)定婶芭。

其他:

ts.get_hist_data('600848', ktype='W')#獲取周k線數(shù)據(jù)ts.get_hist_data('600848', ktype='M')#獲取月k線數(shù)據(jù)ts.get_hist_data('600848', ktype='5')#獲取5分鐘k線數(shù)據(jù)ts.get_hist_data('600848', ktype='15')#獲取15分鐘k線數(shù)據(jù)ts.get_hist_data('600848', ktype='30')#獲取30分鐘k線數(shù)據(jù)ts.get_hist_data('600848', ktype='60')#獲取60分鐘k線數(shù)據(jù)ts.get_hist_data('sh')#獲取上證指數(shù)k線數(shù)據(jù)东臀,其它參數(shù)與個(gè)股一致,下同ts.get_hist_data('sz')#獲取深圳成指k線數(shù)據(jù)ts.get_hist_data('hs300')#獲取滬深300指數(shù)k線數(shù)據(jù)ts.get_hist_data('sz50')#獲取上證50指數(shù)k線數(shù)據(jù)ts.get_hist_data('zxb')#獲取中小板指數(shù)k線數(shù)據(jù)ts.get_hist_data('cyb')#獲取創(chuàng)業(yè)板指數(shù)k線數(shù)據(jù)

2犀农、獲取實(shí)時(shí)行情數(shù)據(jù)get_today_all()

返回值說(shuō)明:

code:代碼

name:名稱

changepercent:漲跌幅

trade:現(xiàn)價(jià)

open:開(kāi)盤(pán)價(jià)

high:最高價(jià)

low:最低價(jià)

settlement:昨日收盤(pán)價(jià)

volume:成交量

turnoverratio:換手率

amount:成交量

per:市盈率

pb:市凈率

mktcap:總市值

nmc:流通市值

import tushare as ts

ts.get_today_all()

? ? ? ?執(zhí)行結(jié)果:

?View Code

? ? ? ?一次性獲取當(dāng)前交易所有股票的行情數(shù)據(jù)(如果是節(jié)假日惰赋,即為上一交易日)

?3、獲取歷史分筆數(shù)據(jù)之:get_tick_data()

? ? ? ?獲取個(gè)股以往交易歷史的分筆數(shù)據(jù)明細(xì)呵哨,通過(guò)分析分筆數(shù)據(jù)赁濒,可以大致判斷資金的進(jìn)出情況。在使用過(guò)程中孟害,對(duì)于獲取股票某一階段的歷史分筆數(shù)據(jù)拒炎,需要通過(guò)加入交易日參數(shù)并append到一個(gè)DataFrame或者直接append到本地同一個(gè)文件里。歷史分筆接口只能獲取當(dāng)前交易日之前的數(shù)據(jù)挨务,當(dāng)日分筆歷史數(shù)據(jù)請(qǐng)調(diào)用get_today_ticks()接口或者在當(dāng)日18點(diǎn)后通過(guò)本接口獲取击你。

參數(shù)說(shuō)明:

code:股票代碼,即6位數(shù)字代碼

date:日期谎柄,格式Y(jié)YYY-MM-DD

retry_count: int, 默認(rèn)3,如遇網(wǎng)絡(luò)等問(wèn)題重復(fù)執(zhí)行的次數(shù)

pause: int, 默認(rèn) 0,重復(fù)請(qǐng)求數(shù)據(jù)過(guò)程中暫停的秒數(shù)丁侄,防止請(qǐng)求間隔時(shí)間太短出現(xiàn)的問(wèn)題

? ? ? 使用方法:

import tushare as ts

df=ts.get_tick_data('300274',date='2018-03-27')

df.head(10)#距離執(zhí)行時(shí)間最近的十筆交易

? ? ? ?執(zhí)行結(jié)果:

? time? price change? volume? amount type

0? 15:00:03? 18.46? ? --? ? 2373? 4380761? 賣盤(pán)1? 14:57:03? 18.46? -0.01? ? 188? 347048? 賣盤(pán)2? 14:57:00? 18.47? -0.01? ? ? 42? ? 77574? 賣盤(pán)3? 14:56:57? 18.48? ? --? ? 644? 1190112? 買盤(pán)4? 14:56:54? 18.48? 0.01? ? ? 80? 147840? 買盤(pán)5? 14:56:51? 18.47? 0.01? ? ? 9? ? 16623? 中性盤(pán)6? 14:56:48? 18.46? -0.02? ? ? 38? ? 70148? 賣盤(pán)7? 14:56:45? 18.48? 0.01? ? ? 25? ? 46200? 買盤(pán)8? 14:56:42? 18.47? ? --? ? ? 87? 160689? 買盤(pán)9? 14:56:36? 18.47? ? --? ? ? 82? 151454? 買盤(pán)

? ? ? ?獲取當(dāng)日歷史分筆數(shù)據(jù):get_today_ticks()

? ? ? ?獲取當(dāng)前交易日(交易進(jìn)行中使用)已經(jīng)產(chǎn)生的分筆明細(xì)數(shù)據(jù)。

參數(shù)說(shuō)明:

code:股票代碼朝巫,即6位數(shù)字代碼

retry_count: int, 默認(rèn)3,如遇網(wǎng)絡(luò)等問(wèn)題重復(fù)執(zhí)行的次數(shù)

pause: int, 默認(rèn) 0,重復(fù)請(qǐng)求數(shù)據(jù)過(guò)程中暫停的秒數(shù)鸿摇,防止請(qǐng)求間隔時(shí)間太短出現(xiàn)的問(wèn)題

返回值說(shuō)明:

time:時(shí)間

price:當(dāng)前價(jià)格

pchange:漲跌幅

change:價(jià)格變動(dòng)

volume:成交手

amount:成交金額(元)

type:買賣類型【買盤(pán)、賣盤(pán)捍歪、中性盤(pán)】

? ? ? 使用方法:

import tushare as ts

df = ts.get_today_ticks('300274')#當(dāng)日的歷史分筆數(shù)據(jù)df.head(10)#距離執(zhí)行時(shí)間最近的10筆

? ? ? 執(zhí)行結(jié)果:

[Getting data:]###########################################Out[6]:? ? ? ? time? price pchange? change? volume? amount type

0? 13:32:15? 18.68? +1.19? -0.01? ? ? 1? ? 1868? 買盤(pán)1? 13:32:12? 18.69? +1.25? ? 0.00? ? ? 8? 14952? 買盤(pán)2? 13:32:06? 18.69? +1.25? ? 0.01? ? ? 1? ? 1869? 買盤(pán)3? 13:32:03? 18.68? +1.19? ? 0.00? ? ? 19? 35492? 賣盤(pán)4? 13:31:51? 18.68? +1.19? ? 0.00? ? ? 8? 14944? 買盤(pán)5? 13:31:48? 18.68? +1.19? ? 0.01? ? ? 14? 26152? 買盤(pán)6? 13:31:45? 18.67? +1.14? -0.01? ? ? 30? 56010? 賣盤(pán)7? 13:31:42? 18.68? +1.19? ? 0.01? ? ? 8? 14944? 買盤(pán)8? 13:31:36? 18.67? +1.14? ? 0.00? ? ? 14? 26138? 賣盤(pán)9? 13:31:33? 18.67? +1.14? -0.01? ? ? 10? 18670? 賣盤(pán)

4户辱、獲取實(shí)時(shí)分筆數(shù)據(jù)之:get_realtime_quotes()

? ? ? ?獲取實(shí)時(shí)分筆數(shù)據(jù),可以實(shí)時(shí)取得股票當(dāng)前報(bào)價(jià)和成交信息糙臼,其中一種場(chǎng)景是庐镐,寫(xiě)一個(gè)python定時(shí)程序來(lái)調(diào)用本接口(可兩三秒執(zhí)行一次,性能與行情軟件基本一致)变逃,然后通過(guò)DataFrame的矩陣計(jì)算實(shí)現(xiàn)交易監(jiān)控必逆,可實(shí)時(shí)監(jiān)測(cè)交易量和價(jià)格的變化。

參數(shù)說(shuō)明:

symbols:6位數(shù)字股票代碼,或者指數(shù)代碼(sh=上證指數(shù) sz=深圳成指 hs300=滬深300指數(shù) sz50=上證50 zxb=中小板 cyb=創(chuàng)業(yè)板) 可輸入的類型:str名眉、list粟矿、set或者pandas的Series對(duì)象

返回值說(shuō)明:

0:name,股票名字1:open损拢,今日開(kāi)盤(pán)價(jià)2:pre_close陌粹,昨日收盤(pán)價(jià)3:price,當(dāng)前價(jià)格4:high福压,今日最高價(jià)5:low掏秩,今日最低價(jià)6:bid,競(jìng)買價(jià)荆姆,即“買一”報(bào)價(jià)7:ask蒙幻,競(jìng)賣價(jià),即“賣一”報(bào)價(jià)8:volume胆筒,成交量 maybe you need do volume/1009:amount邮破,成交金額(元 CNY)10:b1_v,委買一(筆數(shù) bid volume)11:b1_p仆救,委買一(價(jià)格 bid price)12:b2_v抒和,“買二”13:b2_p,“買二”14:b3_v派桩,“買三”15:b3_p构诚,“買三”16:b4_v,“買四”17:b4_p铆惑,“買四”18:b5_v范嘱,“買五”19:b5_p,“買五”20:a1_v员魏,委賣一(筆數(shù) ask volume)21:a1_p丑蛤,委賣一(價(jià)格 ask price)

...30:date,日期撕阎;31:time受裹,時(shí)間;

? ? ? ? 使用方法:

import tushare as ts

df = ts.get_realtime_quotes('300274')#單個(gè)股票實(shí)時(shí)行情? ? df[['code','name','price','bid','ask','volume','amount','time']]#需要顯示的屬性

? ? ? ? 執(zhí)行結(jié)果:

code? name? price? ? bid? ? ask? ? volume? ? ? ? amount? ? ? time

0? 300274? 陽(yáng)光電源? 18.780? 18.750? 18.770? 17003279? 318581216.230? 13:16:06


? ? ? ? 多只股票的實(shí)時(shí)分筆數(shù)據(jù)(最好不要超過(guò)30):

import tushare as ts

df = ts.get_realtime_quotes(['600460','000762','000725'])

df[['code','name','price','bid','ask','volume','amount','time']]

? ? ? ? ?獲取實(shí)時(shí)指數(shù):

ts.get_realtime_quotes('sh')#上證指數(shù)ts.get_realtime_quotes(['sh','sz','hs300','sz50','zxb','cyb'])#上證指數(shù) 深圳成指 滬深300指數(shù) 上證50 中小板 創(chuàng)業(yè)板ts.get_realtime_quotes(['sh','600848'])#或者混搭

? ? ? ? 大盤(pán)指數(shù)行情列表:

? ? ? ? 獲取大盤(pán)指數(shù)實(shí)時(shí)行情列表虏束,以表格的形式展示大盤(pán)指數(shù)實(shí)時(shí)行情棉饶。

返回值說(shuō)明:

code:指數(shù)代碼

name:指數(shù)名稱

change:漲跌幅

open:開(kāi)盤(pán)點(diǎn)位

preclose:昨日收盤(pán)點(diǎn)位

close:收盤(pán)點(diǎn)位

high:最高點(diǎn)位

low:最低點(diǎn)位

volume:成交量(手)

amount:成交金額(億元)

? ? ? ? ?使用方法:

import tushare as ts

df = ts.get_index()print(df)

? ? ? ? ?執(zhí)行結(jié)果:

?View Code

5、獲取大單交易數(shù)據(jù)

? ? ? ? ?獲取大單交易數(shù)據(jù)镇匀,默認(rèn)為大于等于400手照藻,數(shù)據(jù)來(lái)源于新浪財(cái)經(jīng)。

參數(shù)說(shuō)明:

code:股票代碼汗侵,即6位數(shù)字代碼

date:日期幸缕,格式Y(jié)YYY-MM-DD

vol:手?jǐn)?shù)群发,默認(rèn)為400手,輸入數(shù)值型參數(shù)

retry_count: int, 默認(rèn)3,如遇網(wǎng)絡(luò)等問(wèn)題重復(fù)執(zhí)行的次數(shù)

pause: int, 默認(rèn) 0,重復(fù)請(qǐng)求數(shù)據(jù)過(guò)程中暫停的秒數(shù)发乔,防止請(qǐng)求間隔時(shí)間太短出現(xiàn)的問(wèn)題

返回值說(shuō)明:

code:代碼

name:名稱

time:時(shí)間

price:當(dāng)前價(jià)格

volume:成交手

preprice:上一筆價(jià)格

type:買賣類型【買盤(pán)熟妓、賣盤(pán)、中性盤(pán)】

? ? ? ? 使用方法:

import tushare as ts

df = ts.get_sina_dd('300274', date='2018-03-28')#默認(rèn)400手#df = ts.get_sina_dd('300274', date='2018-03-28', vol=500)? #指定大于等于500手的數(shù)據(jù)print(df)

? ? ? ? ?執(zhí)行結(jié)果:

?View Code

?6栏尚、數(shù)據(jù)的存儲(chǔ)

數(shù)據(jù)存儲(chǔ)模塊主要是引導(dǎo)用戶將數(shù)據(jù)保存在本地磁盤(pán)或數(shù)據(jù)庫(kù)服務(wù)器上起愈,便于后期的量化分析和回測(cè)使用,在以文件格式保存在電腦磁盤(pán)的方式上抵栈,調(diào)用的是pandas本身自帶的方法告材,此處會(huì)羅列常用的參數(shù)和說(shuō)明坤次。

?保存為CSV格式文件

? ? ??pandas的DataFrame和Series對(duì)象提供了直接保存csv文件格式的方法古劲,通過(guò)參數(shù)設(shè)定,輕松將數(shù)據(jù)內(nèi)容保存在本地磁盤(pán)缰猴。

常用參數(shù)說(shuō)明:

path_or_buf: csv文件存放路徑或者StringIO對(duì)象

sep: 文件內(nèi)容分隔符产艾,默認(rèn)為,逗號(hào)

na_rep: 在遇到NaN值時(shí)保存為某字符,默認(rèn)為’‘空字符

float_format: float類型的格式

columns: 需要保存的列滑绒,默認(rèn)為None

header: 是否保存columns名闷堡,默認(rèn)為T(mén)rue

index: 是否保存index,默認(rèn)為T(mén)rue

mode: 創(chuàng)建新文件還是追加到現(xiàn)有文件疑故,默認(rèn)為新建

encoding: 文件編碼格式

date_format: 日期格式

注:在設(shè)定path時(shí)杠览,如果目錄不存在,程序會(huì)提示IOError纵势,請(qǐng)先確保目錄已經(jīng)存在于磁盤(pán)中踱阿。

? ? ? 使用方法:

import tushare as ts

df = ts.get_hist_data('300274')#直接保存df.to_csv('C:/Users/07010018/Desktop/tushare-1.1.6/exportdata/300274.csv')#選擇保存#df.to_csv('C:/Users/07010018/Desktop/tushare-1.1.6/exportdata/300274.csv',columns=['open','high','low','close'])

? ? ? ?追加數(shù)據(jù)的方式:

? ? ? ?某些時(shí)候,可能需要將一些同類數(shù)據(jù)保存在一個(gè)大文件中钦铁,這時(shí)候就需要將數(shù)據(jù)追加在同一個(gè)文件里,簡(jiǎn)單舉例如下:

import tushare as tsimport os

filename ='c:/day/bigfile.csv'forcodein['000875','600848','000981']:

? ? df = ts.get_hist_data(code)

? ? if os.path.exists(filename):

? ? ? ? df.to_csv(filename, mode='a', header=None)

? ? else:

? ? ? ? df.to_csv(filename)

【注:如果是不考慮header软舌,直接df.to_csv(filename, mode=’a’)即可,否則牛曹,每次循環(huán)都會(huì)把columns名稱也append進(jìn)去】

?保存為Excel格式文件

? ? ? ? pandas將數(shù)據(jù)保存為MicroSoft Excel文件格式佛点。

常用參數(shù)說(shuō)明:

excel_writer: 文件路徑或者ExcelWriter對(duì)象

sheet_name:sheet名稱,默認(rèn)為Sheet1

sep: 文件內(nèi)容分隔符黎比,默認(rèn)為,逗號(hào)

na_rep: 在遇到NaN值時(shí)保存為某字符超营,默認(rèn)為’‘空字符

float_format: float類型的格式

columns: 需要保存的列,默認(rèn)為None

header: 是否保存columns名阅虫,默認(rèn)為T(mén)rue

index: 是否保存index演闭,默認(rèn)為T(mén)rue

encoding: 文件編碼格式

startrow: 在數(shù)據(jù)的頭部留出startrow行空行

startcol:在數(shù)據(jù)的左邊留出startcol列空列

? ? ? ? 使用方法:

import tushare as ts

df = ts.get_hist_data('300274')#直接保存df.to_excel('C:/Users/07010018/Desktop/tushare-1.1.6/exportdata/300274.xlsx')#設(shè)定數(shù)據(jù)位置(從第3行,第6列開(kāi)始插入數(shù)據(jù))#df.to_excel('C:/Users/07010018/Desktop/tushare-1.1.6/exportdata/300274.xlsx', startrow=2,startcol=5)

?保存為MySQL數(shù)據(jù)庫(kù)

? ? ? ? pandas提供了將數(shù)據(jù)便捷存入關(guān)系型數(shù)據(jù)庫(kù)的方法书妻,在新版的pandas中船响,主要是已sqlalchemy方式與數(shù)據(jù)建立連接躬拢,支持MySQL、Postgresql见间、Oracle聊闯、MS SQLServer、SQLite等主流數(shù)據(jù)庫(kù)米诉。本例以MySQL數(shù)據(jù)庫(kù)為代表菱蔬,展示將獲取到的股票數(shù)據(jù)存入數(shù)據(jù)庫(kù)的方法,其他類型數(shù)據(jù)庫(kù)請(qǐng)參考sqlalchemy官網(wǎng)文檔的create_engine部分。

常用參數(shù)說(shuō)明:

name:表名史侣,pandas會(huì)自動(dòng)創(chuàng)建表結(jié)構(gòu)

con:數(shù)據(jù)庫(kù)連接拴泌,最好是用sqlalchemy創(chuàng)建engine的方式來(lái)替代con

flavor:數(shù)據(jù)庫(kù)類型 {‘sqlite’, ‘mysql’}, 默認(rèn)‘sqlite’,如果是engine此項(xiàng)可忽略

schema:指定數(shù)據(jù)庫(kù)的schema惊橱,默認(rèn)即可

if_exists:如果表名已存在的處理方式 {‘fail’, ‘replace’, ‘a(chǎn)ppend’},默認(rèn)‘fail’

index:將pandas的Index作為一列存入數(shù)據(jù)庫(kù)蚪腐,默認(rèn)是True

index_label:Index的列名

chunksize:分批存入數(shù)據(jù)庫(kù),默認(rèn)是None税朴,即一次性全部寫(xiě)人數(shù)據(jù)庫(kù)

dtype:設(shè)定columns在數(shù)據(jù)庫(kù)里的數(shù)據(jù)類型回季,默認(rèn)是None

  使用方法:

fromsqlalchemyimport create_engineimport tushare as ts

df = ts.get_tick_data('300274', date='2018-03-27')

engine = create_engine('mysql://user:passwd@127.0.0.1/db_name?charset=utf8')#存入數(shù)據(jù)庫(kù)df.to_sql('tick_data',engine)#追加數(shù)據(jù)到現(xiàn)有表#df.to_sql('tick_data',engine,if_exists='append')


? ? ? 另外,數(shù)據(jù)也可以保存為HDF5格式正林,JSON格式泡一,存入NoSQL數(shù)據(jù)庫(kù),這里就不在一一贅述觅廓,就簡(jiǎn)單介紹幾種常用的鼻忠。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市杈绸,隨后出現(xiàn)的幾起案子帖蔓,更是在濱河造成了極大的恐慌,老刑警劉巖蝇棉,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讨阻,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡篡殷,警方通過(guò)查閱死者的電腦和手機(jī)钝吮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)板辽,“玉大人奇瘦,你說(shuō)我怎么就攤上這事【⑾遥” “怎么了耳标?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)邑跪。 經(jīng)常有香客問(wèn)我次坡,道長(zhǎng)呼猪,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任砸琅,我火速辦了婚禮宋距,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘症脂。我一直安慰自己谚赎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布诱篷。 她就那樣靜靜地躺著壶唤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪棕所。 梳的紋絲不亂的頭發(fā)上闸盔,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音橙凳,去河邊找鬼蕾殴。 笑死,一個(gè)胖子當(dāng)著我的面吹牛岛啸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播茴肥,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼坚踩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了瓤狐?” 一聲冷哼從身側(cè)響起瞬铸,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎础锐,沒(méi)想到半個(gè)月后嗓节,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡皆警,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年拦宣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片信姓。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鸵隧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出意推,到底是詐尸還是另有隱情豆瘫,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布菊值,位于F島的核電站塘安,受9級(jí)特大地震影響祖屏,放射性物質(zhì)發(fā)生泄漏号坡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一描扯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧趟薄,春花似錦绽诚、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至羡铲,卻和暖如春蜂桶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背也切。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工扑媚, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人雷恃。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓疆股,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親倒槐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子旬痹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一,獲取個(gè)股數(shù)據(jù) import tushare as ts df = ts.get_hist_data('6008...
    wqh8384閱讀 917評(píng)論 0 1
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,457評(píng)論 0 13
  • 抓住自己最有興趣的東西讨越,由淺入深两残,循序漸進(jìn)地學(xué)。 —...
    CuteHand閱讀 2,964評(píng)論 1 3
  • 引 言 量化交易的分析基礎(chǔ)是數(shù)據(jù)把跨,包括股票歷史交易數(shù)據(jù)人弓、上市公司基本面數(shù)據(jù)、宏觀和行業(yè)數(shù)據(jù)等着逐。隨著信息流量的日益膨...
    CuteHand閱讀 3,822評(píng)論 1 7
  • 幾乎所有關(guān)于健康的問(wèn)題崔赌,不管表現(xiàn)方式是什么或不管醫(yī)學(xué)機(jī)構(gòu)決定的名稱是什么,都是因?yàn)槭ズ椭C滨嘱,因?yàn)閺倪^(guò)去或現(xiàn)在的不平...
    一零一零閱讀 651評(píng)論 1 0