打开APP
userphoto
未登录

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

开通VIP
tushare连接mysql问题
system:OSX 10.11.6python version:Python 3.5.2 :: Anaconda custom (x86_64)tushare version:0.5.0mysql version:Ver 14.14 Distrib 5.7.14, for osx10.11 (x86_64) using EditLine wrapper

tushare数据存储到mysql官方示例:

from sqlalchemy import create_engineimport tushare as tsdf = ts.get_tick_data('600848', date='2014-12-22')engine = create_engine('mysql://user:passwd@127.0.0.1/db_name?charset=utf8')#存入数据库df.to_sql('tick_data',engine)#追加数据到现有表#df.to_sql('tick_data',engine,if_exists='append')

在把数据存储到mysql中,碰到python连接mysql问题:

ImportError: No module named 'MySQLdb'

解决方案:知乎讨论
python3.5不支持使用mysqldb ,使用pymysql或者mysql.connector替代。
命令:

pip install pymysql

重点:由于python3不再支持python-mysql, 直接改用PyMySQL的话 ,一定要改连接字符

mysql+pymysql://:@/[?]

修改后的代码示例:

import tushare as tsimport sysfrom sqlalchemy import create_enginedef industrytodb(): #获取sina行业分类信息 industry_sina = ts.get_industry_classified('sina') print(industry_sina, sep=' ', end='\n', file=sys.stdout, flush=False) #获取申万行业分类信息 industry_sw = ts.get_industry_classified('sw') print(industry_sw, sep=' ', end='\n', file=sys.stdout, flush=False) # engine = create_engine('mysql://root:123456@localhost/stockdb?charset=utf8') print('连接数据库', sep=' ', end='\n', file=sys.stdout, flush=False) engine = create_engine('mysql+pymysql://root:123456@localhost/stockdb?charset=utf8') print(engine, sep=' ', end='\n', file=sys.stdout, flush=False) # industry_sina.to_sql('industry_sina_data',engine,if_exists='append') # industry_sw.to_sql('industry_sw_data',engine,if_exists='append') industry_sina.to_sql('industry_sina_data',engine) industry_sw.to_sql('industry_sw_data',engine)if __name__ == '__main__': # 获取sina和申万行业分类信息 industrytodb()
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SQLAlchemy
一个超方便使用SQL的Python神器
SQLAlchemy基础入门
python爬虫26 | 把数据爬取下来之后就存储到你的MySQL数据库。
python怎么将excel表格导入数据库
Pandas 操作MySQL!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服