Tushare库之获取股票列表接口
接口:stock_basic
描述:获取基础信息数据,包括股票代码、名称、上市日期、退市日期等
输入参数
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
is_hs | str | N | 是否沪深港通标的,N否 H沪股通 S深股通 |
list_status | str | N | 上市状态: L上市 D退市 P暂停上市 |
exchange | str | N | 交易所 SSE上交所 SZSE深交所 HKEX港交所(未上线) |
输出参数
名称 | 类型 | 描述 |
---|---|---|
ts_code | str | TS代码 |
symbol | str | 股票代码 |
name | str | 股票名称 |
area | str | 所在地域 |
industry | str | 所属行业 |
fullname | str | 股票全称 |
enname | str | 英文全称 |
market | str | 市场类型 (主板/中小板/创业板) |
exchange | str | 交易所代码 |
curr_type | str | 交易货币 |
list_status | str | 上市状态: L上市 D退市 P暂停上市 |
list_date | str | 上市日期 |
delist_date | str | 退市日期 |
is_hs | str | 是否沪深港通标的,N否 H沪股通 S深股通 |
说明:旧版上的PE/PB/股本等字段,请在行情接口“每日指标”中获取。
接口示例
pro = ts.pro_api()#查询当前所有正常上市交易的股票列表data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
或者:
#查询当前所有正常上市交易的股票列表data = pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
数据样例
ts_code symbol name area industry list_date
0 000001.SZ 000001 平安银行 深圳 银行 19910403
1 000002.SZ 000002 万科A 深圳 全国地产 19910129
2 000004.SZ 000004 国农科技 深圳 生物制药 19910114
3 000005.SZ 000005 世纪星源 深圳 房产服务 19901210
4 000006.SZ 000006 深振业A 深圳 区域地产 19920427
5 000007.SZ 000007 全新好 深圳 酒店餐饮 19920413
6 000008.SZ 000008 神州高铁 北京 运输设备 19920507
7 000009.SZ 000009 中国宝安 深圳 综合类 19910625
8 000010.SZ 000010 美丽生态 深圳 建筑施工 19951027
9 000011.SZ 000011 深物业A 深圳 区域地产 19920330
10 000012.SZ 000012 南玻A 深圳 玻璃 19920228
11 000014.SZ 000014 沙河股份 深圳 全国地产 19920602
12 000016.SZ 000016 深康佳A 深圳 家用电器 19920327
13 000017.SZ 000017 深中华A 深圳 文教休闲 19920331
14 000018.SZ 000018 神州长城 深圳 装修装饰 19920616
15 000019.SZ 000019 深深宝A 深圳 软饮料 19921012
16 000020.SZ 000020 深华发A 深圳 元器件 19920428
17 000021.SZ 000021 深科技 深圳 电脑设备 19940202
18 000022.SZ 000022 深赤湾A 深圳 港口 19930505
19 000023.SZ 000023 深天地A 深圳 其他建材 19930429
20 000025.SZ 000025 特力A 深圳 汽车服务 19930621
根据以上接口可以将数据获取下来放到本地数据库
代码:
# -*- coding: utf-8 -*-
"""
Created on 2019年3月11日 23点06分
@author: fanbinglin
"""
#%%导入模块
from datetime import datetime,timedelta,time#时间处理函数
import pymysql #mysql操作库
import pandas as pd
import numpy as np
import tushare as ts
#%%全局对象#生产环境mysql配置
mysqlSetting_server={'host':"ip",'port':3306,'user':"root", 'passwd':"********", 'db':"Finance", 'charset':'utf8'
}
#本地
mysqlSetting_local={'host':"localhost",'port':3306,'user':"root", 'passwd':"*********", 'db':"Finance", 'charset':'utf8'
}#执行sql语句
def exeSql(mysqlSetting,sql):# 打开数据库连接db = pymysql.connect(host=mysqlSetting['host'], port=mysqlSetting['port'],user=mysqlSetting['user'], \passwd=mysqlSetting['passwd'], db=mysqlSetting['db'], charset=mysqlSetting['charset'] )# 使用cursor()方法获取操作游标 cursor = db.cursor()cursor.execute(sql)ret = cursor.fetchall()db.commit()# 关闭数据库连接db.close()return ret
#DataFrame对象落地数据库
def df2sql(mysqlSetting,df,tableName):# 打开数据库连接db = pymysql.connect(host=mysqlSetting['host'], port=mysqlSetting['port'],user=mysqlSetting['user'], \passwd=mysqlSetting['passwd'], db=mysqlSetting['db'], charset=mysqlSetting['charset'] )# 使用cursor()方法获取操作游标 cursor = db.cursor() #添加操作的sql语句sqlInsert="REPLACE INTO "+tableName+" ("for _,column in enumerate(df.columns):if _<len(df.columns)-1:sqlInsert =sqlInsert+column+','else:sqlInsert =sqlInsert+column+') VALUES 'for index,row in df.iterrows():sqlInsertNew=sqlInsert+'('for i,column in enumerate(df.columns): if i<len(df.columns)-1:if pd.isnull(row[column]) or row[column] == 0:sqlInsertNew=sqlInsertNew+'NULL'+','else:sqlInsertNew=sqlInsertNew+'\''+str(row[column])+'\''+','#sqlInsertNew=sqlInsertNew+'\''+str(row[column])+'\''+','else:if pd.isnull(row[column]) or row[column] == 0:sqlInsertNew=sqlInsertNew+'NULL' else:sqlInsertNew=sqlInsertNew+'\''+str(row[column])+'\'' #sqlInsertNew=sqlInsertNew+'\''+str(row[column])+'\''sqlInsertNew=sqlInsertNew+');'print(sqlInsertNew)cursor.execute(sqlInsertNew)db.commit()# 关闭数据库连接db.close()
if __name__ == '__main__':ts.set_token('357f92fd3836f2d018d20b9b840897abb3e5c9a62e17895b413e05fe')pro = ts.pro_api()data = pro.query('stock_basic',exchange='',list_status='L',fields='ts_code,symbol,name,area,industry,fullname,market,exchange,curr_type,list_status,list_date,is_hs')df2sql(mysqlSetting_local,data,"issueInfoTable")
这里的token是我的账号生成的,如果你也想注册,麻烦用 推荐 https://tushare.pro/register?reg=241422 链接。
这里需要提前在本地装好Mysql数据库并根据代码建立好数据库和数据表,如果不会装数据库请参看之前的博客文章。
执行以上代码在数据库可以看到结果
喜欢折腾代码的加群(群号:822286811)一起交流学习【python、VBA、Shell、Linux、dos、爬虫、拆机、装系统技术交流群】,点击链接加入群聊【计算机技术交流】:https://jq.qq.com/?_wv=1027&k=5V7RB2c
Tushare库之获取股票列表接口相关推荐
- Android-Firebase快速解决合规问题第4篇,解决FirebaseAnalytics库违规获取应用列表问题
文章目录 系列文章 背景 依赖环境 解决方案 堆栈信息 分析问题 尝试方案一 尝试方案二 解决问题 最后 系列文章 android使用ContentProvider初始化sdk,初始化时机 Andro ...
- 股票列表接口数据API
国内股票行情股票列表接口数据API,包含5分钟.日线. JSON返回示例 { "code": "000000", "message": &q ...
- 实现Python3.7下从Tushare库的LPR贷款基础利率接口获取实时数据
目录 一.环境 二.Tushare库 三.获取Token 四.代码 五.结果 六.后续工作 一.环境 Python 3.7.4 IDLE (Python 3.7 32-bit) 二.Tushare库 ...
- tushare pro 版本获取股票历史数据
最近研究程序化交易,需要使用股票历史数据.由于保存了所有股票历史数据,但是是截至到2018-12-28日,所以开始研究时对数据实时性要求不高,能实现功能即可. 经过近一个月的研究后, 即在 最基础表( ...
- 如何通过python获取股票数据接口l2?
python提供了股票数据接口库Tushare,但用Tushare获取股票实时数据存在只能连续运行2次,就会被网站服务器禁止. 如使用以下代码: #导入模块 import tushare as ts ...
- 量化交易 米筐 获取股票列表与历史合约数据
策略数据获取API 一.数据获取 1. 数据接口种类 获取指定行业.板块股票列表 history_bars 指定股票合约历史数据 行情数据,畸变交易信息 get_fundamentals - 查询财务 ...
- python获取股票数据接口
#部分网站api数据有bug,这个bug问题不是自身程序的问题,而是第三方公司股票的问题 author = 'nooper' import re from math import ceil impor ...
- matlab从wind获取股票列表,MATLAB自动获取股票价格
1.MATLAB怎样获取实时股市行情数据 1Sina股票数据接口 以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据 接口:/list=sh601006 这个ur ...
- taobao.products.get( 获取产品列表 )接口,淘宝店铺商品列表官方接口,淘宝R2店铺上传接口,淘宝oAuth2.0接口
大家都知道,目前淘宝开放平台的店铺订单和店铺商品接口权限已经不支持申请应用,有好多做店群业务,店铺订单同步,店铺订单消息推送,店铺订单插旗,店铺上传商品,店铺修改商品属性,店铺上货等操作均不能操作了, ...
最新文章
- 面试题整理5 顺时针打印矩阵
- 未定义变量: data_三、变量声明
- Java 面试题全梳理
- 如何在网上获取国际、国内的学术会议消息
- 超声波的四个特性_超声波传感器,超声波的特性
- 视频监控 封装[PlayCtrl.dll]的API (1)
- Bailian2683 求分数序列和【数列和】
- 利用Python进行数据分析--数据聚合与分组运算
- HOWTO For iSCSI-SCST Gentoo HOWTO For iSCSI-SCST
- 8.22 今日头条笔试
- win7 win10 配置共享文件夹
- 微信开发者工具 ETIMEDOUT
- 解决Referenced file contains errors
- 云旗OS助手火了!可一站式体验统信UOS
- mac下如何使用ssh-copy-id完成ssh的公钥认证登录
- 微信-软件 报警信息
- mathtype手动延期
- mysql expire_mysql expire_logs_days是怎么生效的
- 厦门one_理想汽车称厦门事故系因用户驾驶不慎碰撞所致,曾现多次起火情况
- 【数据结构】 最小生成树(四)——利用kruskal算法搞定例题×3+变形+一道大水题...
热门文章
- 高估问题以及解决方法
- 微信小程序云端增强 SDK接入
- python椭圆拟合_基于直接最小二乘的椭圆拟合(Direct Least Squares Fitting of Ellipses)...
- Android uses-permission 权限大全
- 重磅!2021年国内有名的编程培训机构排名公布啦
- 使用微信小程序控制ESP8266(麦克纳姆轮)智能车
- 拉普拉斯矩阵 拉普拉斯算子 图论
- html css超链接字体颜色,HTML-CSS设置超链接颜色字体
- java百分比转小数点_Java中小数与百分数的互相转换-Fun言
- 2021 Google 游戏开发者峰会回顾: 最新产品和解决方案为您划重点