傻瓜教程安装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 的智能代码生成,让初学者也能快速上手,完成复杂金融数据任务。
相关推荐
夕水23 分钟前
这个提升效率宝藏级工具一定要收藏使用
前端·javascript·trae
hyhrosewind41 分钟前
Python函数基础:说明文档(多行注释),函数嵌套调用,变量作用域(局部,全局,global关键字),综合案例
python·变量作用域·函数说明文档(多行注释)·函数嵌套调用·局部变量和全局变量·函数内修改全局变量·global关键字
一点.点1 小时前
李沐动手深度学习(pycharm中运行笔记)——04.数据预处理
pytorch·笔记·python·深度学习·pycharm·动手深度学习
一点.点1 小时前
李沐动手深度学习(pycharm中运行笔记)——07.自动求导
pytorch·笔记·python·深度学习·pycharm·动手深度学习
大霸王龙2 小时前
Python对比两张CAD图并标记差异的解决方案
python·opencv·计算机视觉
萧鼎3 小时前
PDFMathTranslate:让数学公式在PDF翻译中不再痛苦
python·pdf
天天扭码3 小时前
Trae 04.22 版本:前端学习者的智能成长助手
前端·trae
@_猿来如此3 小时前
Django 实现电影推荐系统:从搭建到功能完善(附源码)
数据库·后端·python·django
Python×CATIA工业智造3 小时前
爬虫技术入门:基本原理、数据抓取与动态页面处理
爬虫·python·pycharm
fmdpenny4 小时前
用python写一个相机选型的简易程序
开发语言·python·数码相机