Python | AKShare获取A股数据

Python | AKShare获取A股数据
运行环境:jupyter notebook (python 3.12.7) + AKShare 1.16.87

1.安装akshare

# 在Jupyter中直接安装 !pip install akshare --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple

验证安装成功:

import akshare as ak print("AKShare版本:", ak.__version__)

2.以A股贵州茅台600519为例,获取数据

try: import akshare as ak print("\n尝试使用AKShare获取A股数据示例:") a_stock = ak.stock_zh_a_hist(symbol="600519", period="daily", start_date="20250101", end_date="20250507") print(a_stock.head()) except ImportError: print("\n提示:安装AKShare可获得中国证券市场数据 -> pip install akshare") except Exception as e: print(f"AKShare获取失败:{str(e)}")

运行结果截图:

import akshare as ak import pandas as pd # 设置显示参数 pd.set_option('display.max_columns', None) pd.set_option('display.width', 1000) def get_a_stock_data(symbol, start_date, end_date): """获取A股历史行情数据(自动重试版)""" for _ in range(3): try: df = ak.stock_zh_a_hist( symbol=symbol, period="daily", start_date=start_date, end_date=end_date, adjust="hfq" # 可选参数:hfq后复权, qfq前复权, 空为不复权 ) # 转换日期格式 df['日期'] = pd.to_datetime(df['日期']) df.set_index('日期', inplace=True) # 重命名列(英文列名更方便处理) df = df.rename(columns={ '开盘': 'open', '收盘': 'close', '最高': 'high', '最低': 'low', '成交量': 'volume', '成交额': 'amount', '振幅': 'amplitude', '涨跌幅': 'pct_chg', '涨跌额': 'change', '换手率': 'turnover' }) return df.sort_index() except Exception as e: print(f"获取数据失败,正在重试... ({str(e)})") continue raise ConnectionError("数据获取失败,请检查网络或代码") # 执行数据获取 try: data = get_a_stock_data("600519", "20250101", "20250507") print("\n数据获取成功!前5行数据:") print(data.head()) print("\n基础统计信息:") print(data.describe()) except Exception as e: print("发生错误:", str(e)) print("建议解决方案:") print("1. 检查股票代码格式(需纯数字,不带市场后缀)") print("2. 尝试调整日期格式为YYYYMMDD") print("3. 访问AKShare官网查看最新接口文档:https://www.akshare.xyz/")

运行结果截图:

Read more

【前端实战】Axios 错误处理的设计与进阶封装,实现网络层面的数据与状态解耦

【前端实战】Axios 错误处理的设计与进阶封装,实现网络层面的数据与状态解耦

目录 【前端实战】Axios 错误处理的设计与进阶封装,实现网络层面的数据与状态解耦 一、为什么网络错误处理一定要下沉到 Axios 层 二、Axios 拦截器 interceptors 1、拦截器的基础应用 2、错误分级和策略映射的设计 3、错误对象标准化 三、结语         作者:watermelo37         ZEEKLOG优质创作者、华为云云享专家、阿里云专家博主、腾讯云“创作之星”特邀作者、火山KOL、支付宝合作作者,全平台博客昵称watermelo37。         一个假装是giser的coder,做不只专注于业务逻辑的前端工程师,Java、Docker、Python、LLM均有涉猎。 --------------------------------------------------------------------- 温柔地对待温柔的人,包容的三观就是最大的温柔。 --------------------------------------------------------------------- 【前

By Ne0inhk
一文了解Blob文件格式,前端必备技能之一

一文了解Blob文件格式,前端必备技能之一

文章目录 * 前言 * 一、什么是Blob? * 二、Blob的基本特性 * 三、Blob的构造函数 * 四、常见使用场景 * 1. 文件下载 * 2. 图片预览 * 3. 大文件分片上传 * 四、Blob与其他API的关系 * 1. File API * 2. FileReader * 3. URL.createObjectURL() * 4. Response * 五、性能与内存管理 * 六、实际案例:导出Word文档 * 七、浏览器兼容性 * 八、总结 前言 最近在项目中需要导出文档时,我首次接触到了 Blob 文件格式。作为一个前端开发者,虽然经常听到 "Blob" 这个术语,但对其具体原理和应用场景并不十分了解。经过一番研究和实践,

By Ne0inhk

超酷!前端人必备的 3 个 Skills:搞定高级 UI,拿捏最佳实践,最后一个直接拉满“续航”!

最近和几位前端开发者聊天,发现一个有趣的现象:AI 写代码越来越快,但代码质量的差距反而越来越大。 有人用 Cursor 写出来的页面,一眼就能看出是 AI 生成的——紫色渐变背景、Inter 字体、千篇一律的卡片布局。而有的人用同样的工具,却能产出让人眼前一亮的作品。 差距在哪里?不在 AI 工具本身,而在于你给 AI 注入了什么样的"技能包" 。 今天想分享前端开发必备的三个 Skills。前两个是干货分享,能立刻提升你的代码质量;第三个可能出乎你的意料,但确实是我最近的真实体会。 Skill 1: 让 AI 懂设计,告别"AI 味"的界面 你有没有遇到过这种情况——AI 生成的页面虽然能用,但总觉得哪里不对劲? 布局平庸、配色单调、

By Ne0inhk
三种适用于Web版IM(即时通讯)聊天信息的加密算法实现方案

三种适用于Web版IM(即时通讯)聊天信息的加密算法实现方案

文章目录 * **第一部分:引言与核心密码学概念** * **1.1 为什么IM需要端到端加密(E2EE)?** * **1.2 核心密码学概念与工具** * **第二部分:方案一:静态非对称加密(基础方案)** * **2.1 方案概述与流程** * **2.2 前端Vue实现(使用node-forge)** * **1. 安装依赖** * **2. 核心工具类 `crypto.js`** * **3. Vue组件中使用** * **2.3 后端Java实现(Spring Boot)** * **1. 实体类** * **2. Controller层** * **3. WebSocket配置** * **2.4 密钥管理、注册与登录集成** * **1. 用户注册/登录时生成密钥** * **2. 密钥设置页面** * **2.

By Ne0inhk