Python爬取并存储股票成长能力数据(最近三个季度)

本代码示例展示如何使用Python爬取股票成长能力数据并将其存储到数据库中。代码示例演示如何获取最近三个季度的成长能力数据。

import baostock as bs
import pandas as pd
import pymysql
import datetime

# 登陆系统
lg = bs.login()
# 显示登陆返回信息
print('login respond error_code:'+lg.error_code)
print('login respond  error_msg:'+lg.error_msg)

# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root',
                       password='123456', db='baostock', charset='utf8mb4')
# 获取游标
cursor = conn.cursor()

# 成长能力
growth_list = []
now = datetime.datetime.now()
for i in range(3):
    year = now.year
    quarter = now.quarter - i
    if quarter < 1:
        year -= 1
        quarter += 4
    rs_growth = bs.query_growth_data(code='sh.600000', year=year, quarter=quarter)
    while (rs_growth.error_code == '0') & rs_growth.next():
        growth_list.append(rs_growth.get_row_data())
result_growth = pd.DataFrame(growth_list, columns=rs_growth.fields)
# 打印输出
print(result_growth)
# 结果集插入到数据库
for index, row in result_growth.iterrows():
    sql = "INSERT INTO cznl VALUES ('sh.600000', {}, {}, '{}', {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {})".format(
        int(row[1]), int(row[2]), row[3], float(row[4]), float(row[5]), float(row[6]), float(row[7]), float(row[8]), float(row[9]), float(row[10]), float(row[11]), float(row[12]), float(row[13]), float(row[14]))
    cursor.execute(sql)
conn.commit()

# 关闭游标和连接
cursor.close()
conn.close()

# 登出系统
bs.logout()

代码说明:

  1. 首先导入必要的库,包括 baostock 用于获取股票数据,pandas 用于处理数据,pymysql 用于连接数据库,以及 datetime 用于获取当前时间。
  2. 连接到 baostock 系统并获取登录信息。
  3. 连接到数据库,并获取游标。
  4. 使用循环遍历最近三个季度,获取每个季度的成长能力数据。
  5. 将获取到的数据存储到 growth_list 列表中。
  6. 使用 pandasgrowth_list 列表转换为 DataFrame 对象。
  7. DataFrame 对象中的数据插入到数据库中。
  8. 关闭游标和数据库连接,并退出 baostock 系统。

注意:

  • 代码中的 sh.600000 为股票代码,请根据实际情况修改。
  • cznl 为数据库中的表名,请根据实际情况修改。
  • 数据库连接信息(主机地址、端口号、用户名、密码、数据库名)请根据实际情况修改。

运行代码:

  1. 确保已经安装了必要的库。
  2. 将代码保存为 .py 文件。
  3. 运行代码,即可将最近三个季度的股票成长能力数据存储到数据库中。

代码优化:

  • 可以使用函数封装代码,使代码更易于阅读和维护。
  • 可以使用异常处理,提高代码的鲁棒性。
  • 可以将代码部署到服务器,实现自动化运行。

总结:

本代码示例展示了如何使用 Python 爬取股票成长能力数据并将其存储到数据库中。代码可以方便地获取最近三个季度的成长能力数据,并将其保存到数据库中,方便后续的分析和使用。

Python爬取并存储股票成长能力数据(最近三个季度)

原文地址: https://www.cveoy.top/t/topic/mzol 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录