用python获取tushare数据并存入mysql数据库(一)股票列表
编程语言:python
编程工具:pycharm
数据来源:tushare
连接mysql方式:SQLAlchemy
1、创建“股票列表”表结构,存为mysql_tables_structure.py
# coding=utf-8from sqlalchemy import Column, String, Float
from sqlalchemy.ext.declarative import declarative_baseBase = declarative_base()class StockBasic(Base):"""股票列表is_hs str N 是否沪深港通标的,N否 H沪股通 S深股通list_status str N 上市状态: L上市 D退市 P暂停上市exchange str N 交易所 SSE上交所 SZSE深交所 HKEX港交所(未上线)"""__tablename__ = 'stock_basic'ts_code = Column(String(10), primary_key=True) # TS代码symbol = Column(String(10)) # 股票代码name = Column(String(10)) # 股票名称area = Column(String(4)) # 所在地域industry = Column(String(4)) # 所属行业fullname = Column(String(30)) # 股票全称enname = Column(String(100)) # 英文全称market = Column(String(3)) # 市场类型 (主板/中小板/创业板)exchange = Column(String(4)) # 交易所代码curr_type = Column(String(3)) # 交易货币list_status = Column(String(1)) # 上市状态: L上市 D退市 P暂停上市list_date = Column(String(8)) # 上市日期delist_date = Column(String(8)) # 退市日期is_hs = Column(String(1)) # 是否沪深港通标的,N否 H沪股通 S深股通
2、建立获取tushare数据函数,存为tushare_data.py
# coding=utf-8import time
import pandas as pddef get_stock_basic(pro, retry_count=3, pause=2):"""股票列表 数据"""frame = []for status in ['L', 'D', 'P']:for _ in range(retry_count):try:df = pro.stock_basic(exchange='', list_status=status,fields='ts_code,symbol,name,area,industry,fullname,enname,market, \exchange,curr_type,list_status,list_date,delist_date,is_hs')except:time.sleep(pause)else:frame.append(df)breakreturn frame
3、更新“股票列表”数据,存为mysql_functions.py
# coding=utf-8import pandas as pd
import tushare_data as tddef truncate_update(engine, data, table_name):"""删除mysql表所有数据,to_sql追加新数据"""conn = engine.connect()conn.execute('truncate ' + table_name)data.to_sql(table_name, engine, if_exists='append', index=False)def update_stock_basic(engine, pro, retry_count, pause):"""更新 股票信息 所有数据"""data = td.get_stock_basic(pro, retry_count, pause)truncate_update(engine, data, 'stock_basic')
4、主程序
# coding=utf-8import pandas as pd
import tushare as ts
from sqlalchemy import create_enginefrom mysql_tables_structure import Base
import mysql_functions as mf# 创建数据库引擎
engine = create_engine(mysql://root:****@127.0.0.1/databasename?charset=utf8mb4)
conn = engine.connect()# 创建mysql所有表结构
Base.metadata.create_all(engine)# 连接 tushare
ts.set_token(token****)
pro = ts.pro_api()# 股票列表
mf.update_stock_basic(engine, pro, 3, 2)
tushare注册链接:https://tushare.pro/register?reg=258131
用python获取tushare数据并存入mysql数据库(一)股票列表相关推荐
- tushare股票列表mysql_用python获取tushare数据并存入mysql数据库(一)股票列表
编程语言:python 编程工具:pycharm 数据来源:tushare 连接mysql方式:SQLAlchemy 1.创建"股票列表"表结构,存为mysql_tables_st ...
- python爬虫开发数据库设计入门经典_Python3实现的爬虫爬取数据并存入mysql数据库操作示例...
本文实例讲述了Python3实现的爬虫爬取数据并存入mysql数据库操作.分享给大家供大家参考,具体如下: 爬一个电脑客户端的订单.罗总推荐,抓包工具用的是HttpAnalyzerStdV7,与chr ...
- php将json格式的数据直接存入mysql数据库
直接使用php函数 json_encode ,数据存入mysql时会报错: $imgs_str = json_encode($imgs_array); $imgs_str = addslashes($ ...
- Python 分析Nginx 日志并存入MySQL数据库(单线程)
使用Python 分析Nginx access 日志,根据Nginx日志格式进行分割并存入MySQL数据库.(参考网上一些文章) Nginx access日志格式如下: #使用的nginx默认日志格式 ...
- python读取串口数据保存到mysql数据库_Python3读取Excel数据存入MySQL的方法
Python是数据分析的强大利器. 利用Python做数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理. 这里向大家分享python3如何使用xlrd读取 ...
- python爬虫音乐数据加入mysql_Python爬虫数据并存入MySQL数据库,实现可视化。
接上一篇 可视化代码 #!/usr/bin/python #-- coding: utf-8 -- import matplotlib.pyplot as plt from pylab import ...
- 利用Python爬虫网站数据直接导入mysql数据库中
说明: 可能经常出现要爬取某个网站的数据,这时候需要利用爬虫技术来完成,这块主要使用Python来实现. 如何搭建Python环境我上节文章有详细描述:使用Python3.7实现爬虫技术,获取自己想要 ...
- python爬取新闻存入数据库_Python爬取数据并写入MySQL数据库的实例
按 F12 或 ctrl+u 审查元素,结果如下: 结构很清晰简单,我们就是要爬 tr 标签里面的 style 和 tr 下几个并列的 td 标签,下面是爬取的代码: #!/usr/bin/env p ...
- python爬取新闻并归数据库_Python爬取数据并写入MySQL数据库操作示例
Python爬取数据并写入MySQL数据库的实例 首先我们来爬取 http://html-color-codes.info/color-names/ 的一些数据. 按 F12 或 ctrl+u 审查元 ...
最新文章
- LINUX按照物理地址预取,linux – 如何以编程方式禁用硬件预取?
- pandas索引复合索引dataframe数据、索引其中一个水平(level)的所有数据行(index all rows in a level)
- 微服务之配置中心ConfigKeeper
- CentOS安装mariadb
- 使用隐式Intent打开系统浏览器的百度网页
- 用u盘做引导,往硬盘中安装ubuntu
- 阻塞队列的使用案例-注册成功后增加积分
- 七年程序员生涯,我学到最重要的 6 个教训,别再中招!
- api查询所有记录 zabbix_通过Zabbix API获取历史监控数据
- 48个国际音标发音图解暨口形及发音方法
- 定位的特殊特性(HTML、CSS)
- 四窗口能分布到四台显示器上吗? 回答 Galactica 的提问
- 教学|zbrush雕刻头发笔刷介绍,巧用工具可以事半功倍哦!
- 扫雷可以用计算机,windows扫雷
- window10安装vnc无法使用,window10安装vnc无法使用的原因和解决办法
- Win11任务栏透明度怎么调整?Win11任务栏透明度设置教程
- 智能性与实用性兼具,华为开启智能眼镜全民时代
- 什么是BLOB URL,为什么要使用它?
- 【Android开发】android最全的颜色对应的16进制代码(androidUI设计必备)
- windows10搭建私有云服务(使用webdav服务端和公网端口映射)