A2. 项目规划与版本控制
一个清晰的项目结构和基本的版本控制习惯,能让你的分析代码可复现、可备份、可分享。本章的核心思路是:先和 AI 讨论结构设计,确认后再让 AI 生成代码框架。
A2.1 项目结构设计
A2.1.1 推荐的项目结构
金融数据分析项目建议采用以下标准结构:
fin_project/
├── data/
│ ├── raw/ # 原始数据,永远不修改
│ └── processed/ # 清洗后的数据
├── notebooks/ # Jupyter Notebook(探索性分析)
├── scripts/ # 可复用的 Python 脚本
├── outputs/
│ ├── figures/ # 图形输出(PDF/PNG)
│ └── tables/ # 表格输出(CSV/Excel)
├── environment.yml # 环境配置(供他人复现)
└── README.md # 项目说明
提示词(第一轮):与 AI 讨论项目结构
对于一个新项目,先描述你的任务背景,让 AI 推荐合适的结构,再做调整。这比直接套用模板更符合你的实际需求。
我正在启动一个 Python 数据分析项目,任务是:
「用事件研究法分析上市公司并购公告对 A 股股价的短期影响」。
数据来源:Wind 金融终端,包括日度股票行情数据和并购事件列表。
分析工具:pandas、statsmodels、matplotlib。
运行环境:VS Code + Jupyter Notebook,Windows 11,Anaconda。
请帮我:
1. 设计一个合理的项目文件夹结构,说明每个文件夹的用途
2. 推荐主要脚本文件的命名和分工
(数据下载、数据清洗、建模分析、结果绘图各自独立成文件)
3. 解释为什么不能直接修改 data/raw/ 中的原始数据
请用树形结构展示最终目录,并为每个文件/文件夹附一行说明。
提示词(第二轮):让 AI 生成项目初始化脚本
确认好结构后,让 AI 生成一键创建脚本,避免手动建文件夹。
请基于我们刚才讨论的项目结构,帮我写一个 Python 脚本
`setup_project.py`,在当前目录下自动创建所有文件夹,
并生成以下初始文件:
1. README.md:包含项目名称「fin_event_study」、创建日期和三行简介
2. .gitignore:忽略 data/raw/ 下的所有文件、__pycache__/、
.ipynb_checkpoints/、.env
要求:
- 使用 Python 的 pathlib 模块
- 如果文件夹已存在则跳过(不报错)
- 代码有注释,适合在终端直接运行:python setup_project.py
追问模板
脚本运行后,文件夹结构创建成功,但有以下问题:
[描述具体问题,例如:「README.md 创建了,但内容是空的」
或「.gitignore 没有被创建」]
请在上面代码的基础上修复这个问题,其余部分不变。A2.2 Git 版本控制
Git 对金融分析学生最实用的价值只有两个:备份代码(防止误删)和记录修改历史(知道哪次改动导致了问题)。
A. 写提示词时需要知道的 Git 核心术语
| 术语 | 含义 | 类比 |
|---|---|---|
| 仓库(repository) | 项目的所有文件 + 历史记录 | 项目档案室 |
| 提交(commit) | 保存当前状态的快照 | 按下「存档」键 |
| 暂存(add) | 选择哪些文件纳入本次提交 | 放进「待存档」区 |
| 推送(push) | 将本地提交上传到 GitHub | 上传到云端 |
| 拉取(pull) | 将 GitHub 的更新下载到本地 | 从云端下载 |
.gitignore |
告诉 Git 哪些文件不需要追踪 | 「不存档」清单 |
提示词:初始化本地项目并推送到 GitHub
适用于第一次将本地项目同步到 GitHub 的场景。
我有一个本地 Python 项目,路径为 C:/Users/zhangsan/fin_project,
想将它推送到 GitHub。
我已经安装了 Git,GitHub 账号为 zhangsan,操作系统为 Windows 11。
请帮我给出完整的操作步骤,包括:
1. 在项目根目录初始化 Git 仓库
2. 进行第一次提交,提交信息为「初始化项目」
3. 在 GitHub 上新建同名仓库的操作说明(在哪里点击)
4. 将本地仓库关联到 GitHub 远程仓库并推送
请给出每一步的完整终端命令,以及各命令的作用说明。
提示词:日常提交与同步的标准流程
每次分析工作结束后,用这组提示词保存进度。
我已经将本地项目 fin_project 关联到 GitHub 仓库。
请帮我写出「每日提交」的标准命令序列:
1. 查看哪些文件有改动
2. 将所有改动加入暂存区
3. 提交,提交信息格式为:「YYYY-MM-DD: 本次工作内容简述」
4. 推送到 GitHub 主分支
同时说明:
- 在另一台电脑上拉取最新代码的命令
- 如何查看过去 10 条提交历史
请给出可以直接在终端(Anaconda Prompt 或 Git Bash)运行的命令。
追问模板
执行上面的 git push 命令时出现了以下报错:
[将报错信息完整粘贴在这里]
我使用的是 Windows 11,GitHub 账号为 zhangsan。
请帮我分析报错原因并给出修复步骤。