编程语言:python

编程工具:pycharm

数据来源:tushare

连接mysql方式:SQLAlchemy

1、创建“股票列表”表结构,存为mysql_tables_structure.py

# coding=utf-8

from sqlalchemy import Column, String, Float

from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class StockBasic(Base):

"""股票列表

is_hs strN是否沪深港通标的,N否 H沪股通 S深股通

list_statusstrN上市状态: L上市 D退市 P暂停上市

exchangestrN交易所 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-8

import time

import pandas as pd

def 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)

break

return frame

3、更新“股票列表”数据,存为mysql_functions.py

# coding=utf-8

import pandas as pd

import tushare_data as td

def 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-8

import pandas as pd

import tushare as ts

from sqlalchemy import create_engine

from 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股票列表mysql_用python获取tushare数据并存入mysql数据库(一)股票列表相关推荐

  1. python爬虫开发数据库设计入门经典_Python3实现的爬虫爬取数据并存入mysql数据库操作示例...

    本文实例讲述了Python3实现的爬虫爬取数据并存入mysql数据库操作.分享给大家供大家参考,具体如下: 爬一个电脑客户端的订单.罗总推荐,抓包工具用的是HttpAnalyzerStdV7,与chr ...

  2. Python 分析Nginx 日志并存入MySQL数据库(单线程)

    使用Python 分析Nginx access 日志,根据Nginx日志格式进行分割并存入MySQL数据库.(参考网上一些文章) Nginx access日志格式如下: #使用的nginx默认日志格式 ...

  3. 用python获取tushare数据并存入mysql数据库(一)股票列表

    编程语言:python 编程工具:pycharm 数据来源:tushare 连接mysql方式:SQLAlchemy 1.创建"股票列表"表结构,存为mysql_tables_st ...

  4. python将excel导入mysql_【Python】将excel文件导入mysql数据库

    需求: 将若干个excel文件导入到mysql数据库同一表中 作为一个菜鸟,手动降低很多难度 1.拿到这个需求,当然先上网百度啦,发现利用python的xlrd库就可以实行,于是开始安装,是参考这篇文 ...

  5. python读取串口数据保存到mysql数据库_Python3读取Excel数据存入MySQL的方法

    Python是数据分析的强大利器. 利用Python做数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理. 这里向大家分享python3如何使用xlrd读取 ...

  6. 利用Python爬虫网站数据直接导入mysql数据库中

    说明: 可能经常出现要爬取某个网站的数据,这时候需要利用爬虫技术来完成,这块主要使用Python来实现. 如何搭建Python环境我上节文章有详细描述:使用Python3.7实现爬虫技术,获取自己想要 ...

  7. python爬虫音乐数据加入mysql_Python爬虫数据并存入MySQL数据库,实现可视化。

    接上一篇 可视化代码 #!/usr/bin/python #-- coding: utf-8 -- import matplotlib.pyplot as plt from pylab import ...

  8. python爬取新闻并归数据库_Python爬取数据并写入MySQL数据库操作示例

    Python爬取数据并写入MySQL数据库的实例 首先我们来爬取 http://html-color-codes.info/color-names/ 的一些数据. 按 F12 或 ctrl+u 审查元 ...

  9. python爬取mysql数据_Python爬取数据并写入MySQL数据库的实例

    Python爬取数据并写入MySQL数据库的实例 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  Python爬取数据并写入MySQL数据库的实例.txt ] (友 ...

最新文章

  1. transformer bert seq2seq 深度学习 编码和解码的逻辑-重点
  2. WAMP_DEDE兼容配置
  3. Python XML 解析
  4. Linux 使用 yum 查看安装的软件包
  5. 心学 禅宗_禅宗宣言,用于有效的代码审查
  6. Nuget 启用数据库迁移的时候一定要把包含DbContext的项目设为启动项目
  7. GridView类容器中的DropDownList联动
  8. Linux串口打印信息工具,基于Qt实现Linux或Windows串口打印工具
  9. Nginx 部署 Django
  10. [转载]MySQL各类SQL语句的加锁机制
  11. HFSS19 官方中文教程系列 L02
  12. 数字图像处理 采样定理_数字图像处理(第4版)
  13. 手把手教你申请计算机软件著作权(1)——填写软著申请表
  14. linux机顶盒界面,基于嵌入式Linux的IPTV机顶盒的设计与实现
  15. 游鸿明歌曲白色恋人浅析
  16. 高速串行总线设计基础(七)揭秘SERDES高速面纱之时钟校正与通道绑定技术
  17. 索尼ps4 linux,索尼PS4
  18. 传统企业借力商派助推转型
  19. 祛除体内湿气的最佳方法 713.html,治疗湿气重的14种土方法
  20. 毕设专题1 — 开始准备结束的任务

热门文章

  1. SAP Variant 的使用
  2. web前端开发技术实验与实践(第三版)储久良编著 项目2新生简易主页设计
  3. 控制台输入菱形的高度
  4. AsynoTask简介:
  5. 【无标题】BOM报表开发分析
  6. 女程序员实力坑大师兄,网友:保重兄弟!我不是故意笑的,哈哈哈
  7. 【经典算法题】水壶问题
  8. uc/os-ii学习
  9. VUE代码在html中的哪个片段,vue渲染的数据是html片段的时候,怎么处理
  10. 中国工程院院士陈纯:链上链下数据协同技术是联盟链发展的重要方向(全文)...