一、脚本作用
过该脚本调用Tushare获取沪深上市公司基本情况并将数据保存到数据库,python版本为3,数据库为mongoDB
二、引入包
from pymongo import MongoClient import time import tushare as ts import pandas as pd
三、代码部分
1、清除数据库之前的表
def CleanStockBasics(self): # 连接Mongodb数据库 # client = MongoClient('localhost',27017) client = MongoClient('远程mongoDB地址', 27017) db = client.test sb = db.stock_basics sb.remove()
2、保存数据到mongoDB数据库
def SaveStockBasics(self,data): # 连接Mongodb数据库 # client = MongoClient('localhost',27017) client = MongoClient('远程mongoDB地址', 27017) db = client.test #数据库名 sb = db.stock_basics #表名 sb.insert(data)
3、通过tushare获取沪深股票列表并保存到数据库中
def GetStockBasicsFromTushare(self): """功能:通过tushare接口获取股票信息""" """ ts_code TS代码 symbol 股票代码 name 股票名称 area 所在地域 industry 所属行业 market 市场类型 (主板/中小板/创业板) list_date 上市日期 """ global stockBasicsList """功能:从tushare获取数据""" ts.set_token('注册tushare后获取token,用于调取接口') pro = ts.pro_api() stockBasicsList = pro.stock_basic() frame = pd.DataFrame(stockBasicsList) """功能:插入数据前首先清空数据库""" self.CleanStockBasics() for i in range(0,len(frame)): ts_code = frame.iloc[i, 0] symbol = frame.iloc[i, 1] name = frame.iloc[i, 2] area = frame.iloc[i, 3] industry = frame.iloc[i, 4] market = frame.iloc[i, 5] list_date = frame.iloc[i, 6] stockBasicsInfo = [{'ts_code':ts_code,'symbol':symbol,'name':name,'area':area, 'industry':industry,'market':market,'list_date':list_date}] """功能:保存到数据库中""" self.SaveStockBasics(stockBasicsInfo) # print i
4、测试结果