# financial-analysis **Repository Path**: AwesomeBing/financial-analysis ## Basic Information - **Project Name**: financial-analysis - **Description**: 通过企业财务数据做一些基本的财务分析 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-04 - **Last Updated**: 2025-09-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 财务数据分析工具 一个用于Excel数据分析的现代化桌面应用程序,使用uv进行项目管理,提供简单易用的GUI界面。 ## 功能特性 - 📊 **Excel文件支持**: 支持 .xlsx、.xls、.xlsm、.xlsb 等多种Excel格式 - 🔍 **数据分析**: 自动执行基本统计分析、异常值检测、相关性分析 - 📈 **智能报告**: 生成详细的分析报告,包含多个工作表 - 🖥️ **友好界面**: 使用PySimpleGUI构建的现代化GUI界面 - 📁 **批量处理**: 简单的文件选择和批量分析功能 - ⚡ **现代化工具链**: 使用uv进行快速依赖管理和环境管理 ## 前置条件 ### 安装uv 首先需要安装uv(一个日新代的Python包和项目管理器): ```bash # macOS 和 Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows (PowerShell) powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" # 或者使用pip安装 pip install uv ``` ### Python版本管理 如果本地没有Python 3.8+,可使用uv安装: ```bash # 安装默认Python版本 uv python install # 或者安装特定版本 uv python install 3.11 ``` ## 快速开始 ### 1. 克隆项目 ```bash git clone cd financial-analysis ``` ### 2. 同步依赖和创建虚拟环境 ```bash # uv会自动创建虚拟环境并安装所有依赖 uv sync ``` ### 3. 运行应用程序 ```bash # 使用uv run在项目环境中运行应用 uv run python -m financial_analysis.main ``` ## 开发指南 ### 添加新依赖 ```bash # 添加生产依赖 uv add requests # 添加开发依赖 uv add --group dev pytest black # 添加可选依赖(extras) uv add --extra plotting matplotlib ``` ### 删除依赖 ```bash # 删除依赖 uv remove requests ``` ### 查看依赖树 ```bash # 显示依赖关系树 uv tree ``` ### 运行测试和代码检查 ```bash # 运行测试 uv run pytest # 代码格式化 uv run black . # 代码检查 uv run ruff check ``` ## 打包为可执行文件 ### 手动打包 ```bash # 先安装开发依赖(包含PyInstaller) uv sync --group dev # 手动打包命令 uv run pyinstaller 财务分析工具.spec ``` 打包完成后,可执行文件会在 `dist/` 目录中。 ## 工具管理 ### 安装全局工具 ```bash # 安装开发工具 uv tool install ruff uv tool install black uv tool install mypy ``` ### 运行工具而不安装 ```bash # 使用uvx直接运行工具 uvx ruff check . uvx black --check . ``` ## 项目结构 ``` financial-analysis/ ├── pyproject.toml # 项目配置和依赖管理 ├── uv.lock # 锁定文件(自动生成) ├── .venv/ # 虚拟环境(自动创建) ├── src/ │ └── financial_analysis/ │ ├── __init__.py │ ├── main.py # 主入口 │ ├── gui.py # GUI界面 │ ├── analyzer.py # 数据分析逻辑 │ └── utils.py # 工具函数 ├── tests/ # 测试文件 ├── build.py # 打包脚本 └── README.md # 项目说明 ``` ## 技术栈 - **🚀 项目管理**: uv (极快的Python包管理器) - **🖥️ GUI框架**: PySimpleGUI 4.60+ - **📊 数据处理**: pandas 1.5+, numpy 1.21+ - **📄 Excel支持**: openpyxl 3.0+, xlrd 2.0+ - **📦 打包工具**: PyInstaller 5.0+ ## 环境管理 ### 查看环境信息 ```bash # 查看项目信息 uv info # 查看Python版本 uv python list # 查看安装的包 uv pip list ``` ### 清理缓存 ```bash # 清理uv缓存 uv cache clean ``` ### 重建环境 ```bash # 删除现有环境并重新创建 rm -rf .venv uv sync ``` ## 优势 使用uv作为项目管理器的优势: - ⚡ **极快速度**: 比pip快10-100倍 - 🔄 **一致性**: 使用锁定文件保证环境一致性 - 🔧 **一站式**: 同时管理Python版本、包和环境 - 📜 **现代化**: 基于pyproject.toml的标准化配置 - 🔒 **安全**: 自动验证依赖和锁定版本 ## 常见问题 ### Q: uv sync失败怎么办? A: 请确保您的uv版本是最新的: ```bash uv self update ``` ### Q: 如何更新所有依赖到最新版本? A: 删除锁定文件并重新同步: ```bash rm uv.lock uv sync ``` ### Q: 如何在CI/CD中使用? A: 在CI环境中使用锁定安装: ```bash uv sync --frozen ```