鱼C论坛

 找回密码
 立即注册
查看: 3661|回复: 2

[已解决]大力求帮助, code/year/quarter 3个变量如何使用循环模式编写??

[复制链接]
发表于 2023-8-27 08:08:19 | 显示全部楼层    本楼为最佳答案   
你可以使用两个嵌套的循环来实现对不同时间段的下载。首先,你需要定义一个包含所需时间范围的列表,然后使用两个循环来迭代这个列表。在内层循环中,你可以调用 bs.query_operation_data() 函数来下载数据,并将其保存到相应的文件中。

以下是修改后的代码示例:

  1. import baostock as bs
  2. import pandas as pd

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

  8. # 定义年份和季度范围
  9. start_year = 2010
  10. end_year = 2020
  11. quarters = [1, 2, 3, 4]

  12. # 营运能力
  13. operation_list = []

  14. for year in range(start_year, end_year + 1):
  15.     for quarter in quarters:
  16.         rs_operation = bs.query_operation_data(code="sh.600000", year=year, quarter=quarter)
  17.         while (rs_operation.error_code == '0') & rs_operation.next():
  18.             operation_list.append(rs_operation.get_row_data())
  19.             
  20. # 创建DataFrame并保存到csv文件
  21. result_operation = pd.DataFrame(operation_list, columns=rs_operation.fields)
  22. result_operation.to_csv("D:\\operation_data.csv", encoding="gbk", index=False)

  23. # 登出系统
  24. bs.logout()
复制代码


这段代码会在指定的时间范围内迭代每个季度,并将数据保存到 D:\\operation_data.csv 文件中。请确保你已经安装了 baostock 和 pandas 库。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-30 04:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表