返回介绍

平台介绍

数据接口

数据如何落地存入到 MySQL 数据库?

发布于 2023-06-23 16:57:50 字数 908 浏览 0 评论 0 收藏 0

如果数据需要长期使用,尤其是历史数据,我们建议,可以将提取到的数据存入本地数据库,例如 MySQL。

有如下几个步骤:

  1. 安装依赖包
    sqlalchemy、mysqlclient
  1. 安装 MySQL
    对于 MySQL 版本,没有特别的要求,mysql 5+、mysql 8+ 都可以,如果是最新版 mysql,需要将 sqlalchemy 升级到最新版。具体的安装过程,这里不做介绍,大家可自行 baidu,有很多参考材料。
  1. 编写入库代码
    由于用了 sqlalchemy,这个过程非常简单。用户无需首先在数据库中建表就可以执行数据入库,但这种默认方式所创建的数据表并不是最优的数据结构,可以参考第 4 条进行优化。

    res = df.to_sql('stock_basic', engine_ts, index=False, if_exists='append', chunksize=5000)

  2. 数据结构优化
    对于默认创建的表,会有一些不太符合实际应用,比如数据结构类型比较单一,没有主键和索引等约束,没有 comments 等等。我们可以在数据库客户端对所建立的表进行修改,使其符合实际的最优设计。比如将一般的 str 类型转成 varchar2 数据类型,而不是 text 数据类型。

  3. 实现本地调度程序
    完成数据调取接口和入库程序之后,我们可以开发一个调取程序,可以让系统的调度系统来定时从 tushare 拉取数据。比如 windows 我们可以用计划任务,Linux 可以使用 crontab。

完整的入库程序,包括数据提取入库到 mysql,以及从 mysql 读取数据到 pandas dataframe,我们提供了一个完整的 py 文件供大家参考。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文