傻瓜教程安装Trae IDE用AI撰写第一个AKShare接口脚本

本文通过用户与 AI 的对话,展示如何在 Trae IDE 中安装环境、配置项目,并利用 AI 开发和优化基于 AKShare 库的 ETF 实时行情脚本。内容包括 Trae IDE 安装、项目配置、脚本开发、问题修复及功能扩展。


前置条件

软件 :Anaconda 安装设置,详见我之前发布的文章
虚拟环境 :自定义环境名 AKTool,Python 3.11 + AKShare 库,详见我之前发布的文章


安装 Trae IDE

  1. 访问官方网站 :前往 www.trae.com.cn/home 下载 Trae IDE 安装包。
  2. 安装建议:不建议安装在系统盘(如 C 盘),推荐选择 D 盘或 E 盘以避免权限问题。
  3. 安装步骤:运行安装程序,按照提示完成安装,确保选择合适的安装路径。

项目设置

  1. 新建项目文件夹 :创建一个项目文件夹,例如 E:\PycharmProjects\PythonProject\AKTool
  2. 打开项目 :启动 Trae IDE,通过"文件 > 打开文件夹"选择 E:\PycharmProjects\PythonProject\AKTool 作为项目根目录。

新建配置文件

  1. 创建配置文件

    • 打开菜单"文件 > 使用配置文件新建窗口 > 创建配置文件"。
    • 输入名称 AKTool,点击"创建"。
  2. 添加项目文件夹

    • 在文件夹和工作区中添加项目文件夹 E:\PycharmProjects\PythonProject\AKTool
  3. 配置内容

    • 点击"内容 > 设置",在侧边栏打开设置面板。
    • 修改配置文件内容为:
json 复制代码
{
  "workbench.colorTheme": "Deep Blue",
  "python.condaPath": "E:\anaconda3\Scripts\conda.exe activate AKTool",
  "python.defaultInterpreterPath": "E:\anaconda3\envs\AKTool"
}
  • Ctrl+S 保存。

初始需求:获取 ETF 实时行情

用户输入

根据接口说明文档,撰写一个获取所有ETF实时行情的脚本。 ETF基金实时行情-东财

接口: fund_etf_spot_em

目标地址: https://quote.eastmoney.com/center/gridlist.html#fund_etf

描述: 东方财富-ETF 实时行情

限量: 单次返回所有数据

输入参数

名称 类型 描述


输出参数

名称 类型 描述

代码 object -

名称 object -

最新价 float64 -

IOPV实时估值 float64 -

基金折价率 float64 注意单位: %

涨跌额 float64 -

涨跌幅 float64 注意单位: %

成交量 float64 -

成交额 float64 -

开盘价 float64 -

最高价 float64 -

最低价 float64 -

昨收 float64 -

换手率 float64 -

量比 float64 -

委比 float64 -

外盘 float64 -

内盘 float64 -

主力净流入-净额 float64 -

主力净流入-净占比 float64 -

超大单净流入-净额 float64 -

超大单净流入-净占比 float64 -

大单净流入-净额 float64 -

大单净流入-净占比 float64 -

中单净流入-净额 float64 -

中单净流入-净占比 float64 -

小单净流入-净额 float64 -

小单净流入-净占比 float64 -

现手 float64 -

买一 float64 -

卖一 float64 -

最新份额 float64 -

流通市值 int64 -

总市值 int64 -

数据日期 object -

更新时间 object -

接口示例

import akshare as ak

fund_etf_spot_em_df = ak.fund_etf_spot_em()

print(fund_etf_spot_em_df)

数据示例

markdown 复制代码
       代码    名称  ...       数据日期                  更新时间

0 520890 港股通红利低波ETF ... 2024-12-26 2024-12-26 16:11:57+08:00

1 159331 红利港股ETF ... 2024-12-26 2024-12-26 15:34:48+08:00

2 159333 港股央企红利ETF ... 2024-12-26 2024-12-26 15:34:45+08:00

3 159583 通信设备ETF ... 2024-12-26 2024-12-26 15:35:03+08:00

4 515880 通信ETF ... 2024-12-26 2024-12-26 16:11:33+08:00

... ... ... ... ... ...

1005 561170 绿电50ETF ... 2024-12-26 2024-12-26 16:11:52+08:00

1006 562550 绿电ETF ... 2024-12-26 2024-12-26 16:11:39+08:00

1007 159301 公用事业ETF ... 2024-12-26 2024-12-26 15:34:36+08:00

1008 159611 电力ETF ... 2024-12-26 2024-12-26 15:34:12+08:00

1009 560580 电力ETF南方 ... 2024-12-26 2024-12-26 16:11:52+08:00

1010 rows x 37 columns

AI 回复

Trae CN 生成以下脚本,保存为 get_etf_spot.py

python 复制代码
import akshare as ak

# 调用 fund_etf_spot_em 接口获取 ETF 实时行情数据
fund_etf_spot_em_df = ak.fund_etf_spot_em()

# 打印获取到的 ETF 实时行情数据
print(fund_etf_spot_em_df)

运行测试

在 Trae IDE 中,点击运行按钮执行脚本。注意控制台输出,确认环境配置成功,标志为:
(AKTool) PS E:\PycharmProjects\AKTool> & E:/anaconda3/envs/AKTool/python.exe e:/PycharmProjects/AKTool/get_etf_spot.py


功能扩展:保存数据到 CSV 文件

用户输入

增加将数据保存为 CSV 文件的功能。

AI 回复

Trae CN 修改脚本,加入 Pandas 的 to_csv 方法:

python 复制代码
import akshare as ak
import pandas as pd

# 调用 fund_etf_spot_em 接口获取 ETF 实时行情数据
fund_etf_spot_em_df = ak.fund_etf_spot_em()

# 将数据保存到 CSV 文件
csv_file_path = 'etf_spot_data.csv'
fund_etf_spot_em_df.to_csv(csv_file_path, index=False)

# 打印获取到的 ETF 实时行情数据
print(fund_etf_spot_em_df)
print(f"数据已保存到 {csv_file_path}")

运行测试

点击运行按钮,检查控制台输出,确认环境标志:
(AKTool) PS E:\PycharmProjects\AKTool> & E:/anaconda3/envs/AKTool/python.exe e:/PycharmProjects/AKTool/get_etf_spot.py


问题修复:解决 CSV 中文乱码

用户输入

CSV 文件在 Excel 中打开时中文乱码。

AI 回复

Trae CN 修改脚本,设置 encoding='gbk'

python 复制代码
import akshare as ak
import pandas as pd

# 调用 fund_etf_spot_em 接口获取 ETF 实时行情数据
fund_etf_spot_em_df = ak.fund_etf_spot_em()

# 将数据保存到 CSV 文件,指定编码为 gbk
csv_file_path = 'etf_spot_data.csv'
fund_etf_spot_em_df.to_csv(csv_file_path, index=False, encoding='gbk')

# 打印获取到的 ETF 实时行情数据
print(fund_etf_spot_em_df)
print(f"数据已保存到 {csv_file_path}")

运行测试

点击运行按钮,确认控制台环境标志:
(AKTool) PS E:\PycharmProjects\AKTool> & E:/anaconda3/envs/AKTool/python.exe e:/PycharmProjects/AKTool/get_etf_spot.py


进一步优化:动态文件名与子目录保存

用户输入:\

  1. 保存 CSV 到"数据导出"子目录。
  2. 文件名改为 ETF行情导出_日期时间,以"更新时间"列最后值为准。

AI 回复

Trae CN 生成优化脚本:

ini 复制代码
import akshare as ak
import pandas as pd
import os
from datetime import datetime

# 调用 fund_etf_spot_em 接口获取 ETF 实时行情数据
fund_etf_spot_em_df = ak.fund_etf_spot_em()

# 获取更新时间列的最后一个时间
last_update_time = fund_etf_spot_em_df['更新时间'].iloc[-1]
# 将时间字符串转换为 datetime 对象
last_update_datetime = pd.to_datetime(last_update_time).to_pydatetime()
# 格式化日期时间
formatted_time = last_update_datetime.strftime("%Y%m%d%H%M%S")

# 定义子目录
sub_dir = '数据导出'
# 检查子目录是否存在,如果不存在则创建
if not os.path.exists(sub_dir):
    os.makedirs(sub_dir)

# 构建完整的 CSV 文件路径
csv_file_name = f"ETF行情导出_{formatted_time}.csv"
csv_file_path = os.path.join(sub_dir, csv_file_name)

# 将数据保存到 CSV 文件,指定编码为 gbk
fund_etf_spot_em_df.to_csv(csv_file_path, index=False, encoding='gbk')

# 打印获取到的 ETF 实时行情数据
print(fund_etf_spot_em_df)
print(f"数据已保存到 {csv_file_path}")

运行测试

点击运行按钮,确认控制台环境标志:
(AKTool) PS E:\PycharmProjects\AKTool> & E:/anaconda3/envs/AKTool/python.exe e:/PycharmProjects/AKTool/get_etf_spot.py


总结

本教程展示了如何通过 Trae IDE 和 AI 协作,开发基于 AKShare 的金融数据脚本。主要经验包括:

  1. 配置 IDE 与测试环境:通过 Trae IDE 配置 Anaconda 虚拟环境(AKTool),确保脚本运行稳定,控制台标志确认环境正确性。
  2. 小步迭代与充分测试:从基础数据获取到 CSV 导出、乱码修复、动态文件名,每次功能更新后都进行运行测试,用户反馈驱动快速优化。
  3. 高效开发流程:Trae IDE 的简洁界面结合 AI 的智能代码生成,让初学者也能快速上手,完成复杂金融数据任务。
相关推荐
Dxy123931021623 分钟前
Python 装饰器详解
开发语言·python
ganjiee000738 分钟前
新电脑软件配置二:安装python,git, pycharm
python
Ronin-Lotus39 分钟前
程序代码篇---python向http界面发送数据
python·http
NaclarbCSDN1 小时前
Java IO框架
开发语言·python
Tom Boom1 小时前
19. 结合Selenium和YAML对页面实例化PO对象改造
python·测试开发·selenium·测试工具·自动化测试框架开发·po改造
一个Potato1 小时前
Python面试总结
开发语言·python
无敌最俊朗@1 小时前
**HTTP/HTTPS基础** - URL结构(协议、域名、端口、路径、参数、锚点) - 请求方法(GET、POST) - 请求头/响应头 - 状态码含义
爬虫·python·网络协议·http·https
xiaohanbao093 小时前
day29 python深入探索类装饰器
开发语言·python·学习·机器学习·pandas
CryptoRzz3 小时前
股票数据源对接技术指南:印度尼西亚、印度、韩国
数据库·python·金融·数据分析·区块链
胖哥真不错4 小时前
Python实现NOA星雀优化算法优化卷积神经网络CNN回归模型项目实战
python·cnn·卷积神经网络·项目实战·cnn回归模型·noa星雀优化算法