import pymongo
import time
import json
import tushare as ts
import pandas as pd
#数据获取
ts.set_token('your are token')
pro = ts.pro_api()
def get_from_tushare_pro(code,adj='hfq',start='2021-01-01',end='2022-04-01'):
if code.startswith('6'):
code=code+'.SH'
else:
code=code+'.SZ'
start=''.join(start.split('-'))
end=''.join(end.split('-'))
df=ts.pro_bar(ts_code=code,adj=adj,start_date=start,end_date=end)
#原数据是倒序的,所以将时间设置为索引,根据索引重新排序
df.index=pd.to_datetime(df.trade_date)
df=df.sort_index()
return df
db_name='tushare_指定1'#数据库名
connect=pymongo.MongoClient(host='localhost',port=27017)
database=connect[db_name]#建立数据库
#指定股票代码等
stock_list=['002349','002103','603123']
sleep_time=0.4
for code in stock_list:#
df=get_from_tushare_pro(code, adj='hfq',start='2021-01-01',end='2022-04-01')#,end_date='20190925')#单只区间
if code.startswith('6'):
code=code+'.SH'
else:
code=code+'.SZ'
collection=database[code] #建立以股票名命名的集合
collection.insert_many(json.loads(df.T.to_json()).values()) #存储到MongoDB数据库中
time.sleep(sleep_time)
tushare指定股票导入mongodb,并以升序方式排序。
最新推荐文章于 2022-12-18 16:15:12 发布