打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Tushare与Mysql在python下的演义

        首先给大家介绍的是一个很强大的财经数据接口库,是专门为python准备的哦。不过唯一的缺点是有比较大的数据缺失,这个库就是Tushare财经数据接口,官网如下:

http://tushare.waditu.com/index.html

        做的相当不错,使用pandas的框架做的。熟悉pandas的同学可以迅速上手哦。

        这次我们就从这个接口里面获取一些东西之后存到数据库里面。一方面是学习使用Tushare(其实很明了,不用学习),另外一方面是学习用Python去操作Mysql数据库。

1.Mysql安装

        Mysql安装的教程网上有很多,这里就不说了,推荐大家下载msi的,双击就可以直接安装,不过是直接装在c盘下的。

        装好Mysql之后呢,会在目录下有一个配置文件,这个很重要。默认名字叫做defaut-my.ini,打开之后我们做一些修改,

[mysql]
default-character-set = utf8

[mysqld]
character-set-server = utf8

        增加这样两个部分。这两个是干什么的呢?就是修改客户端和服务器端的字符编码,免得到时候因为字符编码的事情大费周章。

        结束了安装之后,我们开启Mysql服务,只有开启了这个服务,那么我们的python才能连上数据库。

2.Mysql开启

        打开dos窗口,输入 net start mysql(这个部分根据安装的时候的命名来), 然后就会提示正在打开服务。打开之后,我们登录进去,mysql -u root -p 你的密码

        然后输入\s,如果发现和下图一样有四个utf8,那么就说明配置文件起作用了,咱们的字符编码改成功了。

 

3、Tushare获取股票数据。

        这里我们就先介绍一下如何用Tushare获取沪深300指数成分股的代码,名称和权重吧。安装Tushare很简单,和一般的python包安装一样

pip install tushare

就可以安装好了。

import tushareprint(tushare.__version__)
        这样就可以查看当前Tushare的版本号了。

import tushare as tshs300 = ts.get_hs300s()
        这样,hs300就是一个包含沪深300成分股信息的一个pandas中dataframe数据结构的变量了。
        大家可以print 出来看一下。

4、存入Mysql

try: conn=MySQLdb.connect(user='root')#cennect the database cur=conn.cursor()#get the cur cur.execute('create database if not exists Stock') conn.select_db('Stock') cur.execute('create table if not exists hs300(code varchar(10),weight integer)') hs300 = ts.get_hs300s()#get all the data and other data will be add to this d for cnt in range(0,len(hs300)): #将hs300中的数据存储到数据库中 SQL = 'INSERT INTO hs300 (code,weight) VALUES (%s,%s)'%(hs300['code'][cnt],float(hs300['weight'][cnt])) cur.execute(SQL) conn.commit() #执行上诉操作 cur.close() conn.close() except MySQLdb.Error,e: print 'Mysql Error %d: %s' % (e.args[0], e.args[1])
        注意,将数据插入的sql语句不是一运行就开始执行,而是要执行
conn.commit()
之后才会生效。

        对于读取数据库的数据,

SQL = 'SELECT code FROM hs300' cur.execute(SQL) results = cur.fetchall()
sql2.0数据库接口的标准是执行完sql语句之后,从cur之中fetch数据,在python中,往往是tuple的格式。

5.DB API 2.0标准

        如果没有接触过Mysql,或者在别的地方使用过的话,可能对DB API 2.0标准并不了解。

        无论是python、C 、java还是C#,只要是支持这个标准接口的,对数据库的操作其实是大同小异的。

        DB API 2.0想要快速入门,只要知道两种对象,一种就是连接对象,一种是游标对象,就是上面出现的conn和cur。conn是由于与数据库连接而产生的,他有四种方法

  • cursor()用于返回游标对象
  • commit()事物提交,sql语句真正被执行
  • rollback()回滚语句,前面的sql语句不执行
  • close()关闭连接。

        其实大家可以发现和操作文件对象很像。

        由连接对象产生的游标对象则复杂一些,他负责完整具体的操作任务,执行具体的sql语句。

        常用的就是之前我们提到的excute(sql语句),以及对其的封装excutemany(sqlstr,seq),这个其实通常通过高级语言自己写code实现。

        还有就是fetch类,可以是fetchone()获取一行的结果数据,也可以是fetchall()返回所有结果记录,就像上面说的那样。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python操作MySQL数据库
python3使用PyMysql连接mysql数据库实例
python使用pymysql实现操作mysql
Python连接MySQL数据库方法介绍(超详细!手把手项目案例操作)
Python操作mysql数据库:MySQLdb模块
Python接口测试之对MySQL的增、删、改、查操作(五)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服