使用AkShare获取大A列表
文章目录
- 方法一:获取所有A股实时行情数据(含股票代码和名称)
- 方法二:直接获取A股代码与名称映射表
- 数据字段说明
- 注意事项
- 应用场景

要使用 AkShare 获取所有A股股票列表,可以通过以下步骤实现。AkShare 提供了多种接口来获取股票基础信息,以下是两种常用方法:
方法一:获取所有A股实时行情数据(含股票代码和名称)
通过 stock_zh_a_spot_em()
接口获取当前所有A股的实时行情数据,并提取股票代码和名称列。
import akshare as ak# 获取所有A股实时行情数据(包含代码、名称等字段)
stock_spot_df = ak.stock_zh_a_spot_em()# 提取股票代码和名称列表
stock_list = stock_spot_df[["代码", "名称"]]# 输出前10条数据
print(stock_list.head(10))
输出示例:
代码 名称
600519 贵州茅台000001 平安银行600036 招商银行300750 宁德时代...
方法二:直接获取A股代码与名称映射表
使用 stock_info_a_code_name()
接口直接获取所有A股代码和名称的对应关系。
import akshare as ak# 获取A股代码与名称的映射表
stock_code_name_df = ak.stock_info_a_code_name()# 输出结果
print(stock_code_name_df.head(10))
输出示例:
code name
000001.SZ 平安银行000002.SZ 万科A000004.SZ 国华网安...
数据字段说明
两种方法返回的数据包含以下关键字段:
-
代码:股票代码(如 600519)。
-
名称:股票简称(如 贵州茅台)。
-
其他字段(方法一中):最新价、成交量、市值等实时行情数据。
注意事项
- 数据更新:AkShare 数据源来自公开接口,需注意实时性。若需最新数据,建议调用前升级库版本:
pip install akshare --upgrade
- 去重处理:部分股票可能因退市或暂停上市存在重复数据,可通过
drop_duplicates()
去重:
stock_list = stock_spot_df[["代码", "名称"]].drop_duplicates()
- 数据源扩展:若需更多字段(如行业分类、上市日期),可结合 stock_individual_info_em() 接口补充。
应用场景
-
策略开发:快速获取标的代码列表,用于批量回测或实时监控。
-
数据清洗:结合市值、行业等字段筛选特定股票池。
-
本地存储:将结果保存为 CSV 文件以便后续分析:
stock_list.to_csv("A股股票列表.csv", index=False, encoding="utf-8-sig")
通过上述方法,可高效获取完整的A股股票列表。如需更详细的数据(如财务指标、行业分类),可参考 AkShare 官方文档或结合其他接口进一步扩展。