【Python】用baostock和akshare下载股票的日线数据

该代码示例展示了如何使用Baostock库登录系统,读取股票代码列表,获取指定日期范围内的历史K线数据,并将数据保存到CSV文件。之后,它涉及对数据进行分组、聚合、合并等操作,以计算平均值、最大值和最小值。最后,它将结果与其他CSV文件中的数据合并,并导出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import baostock as bs
import pandas as pd
import time
st = time.time()
# 登陆系统
lg = bs.login()
# 读取所有的股票代码
df = pd.read_csv(r'D:\test\all_stock.csv',encoding = 'gbk')
code_list = df['code'].values.tolist()

# 获取天数
start_date='2022-01-01'
end_date='2023-03-08'
start = datetime.datetime.strptime(start_date,'%Y-%m-%d')
end = datetime.datetime.strptime(end_date,'%Y-%m-%d')
s = (end-start).days
# 存储list
data_list = []
# 获取沪深A股历史K线数据
for code in code_list:
    if len(code)!=9:
        continue
    rs_result = bs.query_history_k_data_plus(code,
                fields="date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST",
                start_date='2022-01-01', 
                end_date='2023-03-08', 
                frequency="d", 
                adjustflag="3")
# print(rs_result.get_data())
    i = 0
    while (i<s) &(rs_result.error_code == '0')& rs_result.next():
        data_list.append(rs_result.get_row_data())
        i+=1
#  把结果转为DataFrame       
result = pd.DataFrame(data_list,columns=rs_result.fields)
#### 结果集输出到csv文件 ####   
result.to_csv("D:\\history_A_stoc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值