Files
organize_excel_data/README.md
2026-03-05 22:02:57 +08:00

330 lines
8.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 财务报表数据处理工具集
这是一套用于处理财务报表数据的 Python 工具集,包含资产负债表和利润表处理功能。
---
## 📋 工具列表
### 主程序:财务报表统一处理工具 ⭐ 推荐使用
**脚本**`main.py`
**主要功能**
- 🔍 **自动识别**:智能识别资产负债表和利润表文件
- 📊 **统一处理**:自动调用对应的处理工具
- 📁 **合并输出**:将两个报表合并到一个 Excel 的不同 Tab 页
- 🎯 **智能命名**:自动清理文件名,去除"合并报表"等冗余文字
- 💯 **单位统一**:所有数据统一转换为亿(保留 2 位小数)
### 1. 资产负债表处理工具
**脚本**`process_balance_sheet.py`
**主要功能**
- 按照预定义分类重新组织数据
- 自动计算分类汇总
- 数字转换为亿(保留 2 位小数)
- 第一行显示日期
- 统一输出为 Excel 格式
**详细说明**:📖 [资产负债表处理说明.md](资产负债表处理说明.md)
### 2. 利润表处理工具
**脚本**`process_income_statement.py`
**主要功能**
- 将大数字转换为以亿为单位(保留 2 位小数)
- 保留小数/比率不变
- 删除指定的无用行
- 第一行显示日期
- 统一输出为 Excel 格式
**详细说明**:📖 [利润表处理说明.md](利润表处理说明.md)
---
## 🗂️ 目录结构
```
organize_excel_data/
├── config/ # 配置文件目录
│ ├── balance_sheet_categories.json # 资产负债表分类配置
│ └── income_statement_config.json # 利润表配置
├── input/ # 输入文件目录
│ ├── *资产负债表*.csv/*.xlsx # 资产负债表文件
│ └── *利润表*.csv/*.xlsx # 利润表文件
├── output/ # 输出文件目录
│ └── *.xlsx # 处理结果(包含多个 Tab
├── main.py # 主程序(推荐使用)⭐
├── process_balance_sheet.py # 资产负债表处理脚本
├── process_income_statement.py # 利润表处理脚本
├── README.md # 总体说明文档(本文件)
├── 资产负债表处理说明.md # 资产负债表详细说明
└── 利润表处理说明.md # 利润表详细说明
```
---
## 🚀 快速开始
### 1. 环境准备
确保已安装 Python 3 和必要的依赖库:
```bash
pip install pandas openpyxl
```
或使用:
```bash
pip install -r requirements.txt
```
### 2. 准备数据
将待处理的文件放入 `input/` 目录:
- 资产负债表文件(建议文件名包含"资产负债表"
- 利润表文件(建议文件名包含"利润表"
### 3. 运行相应脚本
**处理资产负债表:**
```bash
python3 process_balance_sheet.py
```
**处理利润表:**
```bash
python3 process_income_statement.py
```
### 4. 查看结果
处理完成后,文件将保存在 `output/` 目录下:
- 资产负债表:`organized_原文件名.xlsx`
- 利润表:`processed_原文件名.xlsx`
---
## 📊 处理效果对比
### 资产负债表
| 处理前 | 处理后 |
| ---------------- | ---------------- |
| 数据分散,无分类 | 按 9 大类组织 |
| 无汇总数据 | 自动计算汇总 |
| 一、资产总计 | 资产总计(简化) |
| 股票代码在第一行 | 日期在第一行 |
| 数据保持原始单位 | 数据保持原始单位 |
**输出示例:**
```
日期 2024/12/31 2023/12/31 ...
资产总计 604,352亿 486,038亿 ...
所有者权益合计 227,667亿 174,300亿 ...
负债合计 376,684亿 311,739亿 ...
类现金 216,678亿 142,001亿 ... ← 汇总行
货币资金 140,410亿 81,674亿 ...
交易性金融资产 6,936亿 1,791亿 ...
```
### 利润表
| 处理前 | 处理后 |
| ------------------ | ----------------------- |
| 数据单位为"元" | 转换为"亿"(保留 2 位) |
| 包含无用信息行 | 删除指定行 |
| 股票代码在第一行 | 日期在第一行 |
| 营业收入: 4.07E+11 | 营业收入: 4071.50 |
| 毛利率: 0.2642 | 毛利率: 0.2642(不变) |
**转换规则:**
- 大数字≥1→ 转换为亿(保留 2 位小数)
- 小数/比率(<1)→ 保持不变
---
## ⚙️ 配置说明
### 资产负债表配置
**文件**`config/balance_sheet_categories.json`
**用途**定义分类和项目归属
**示例**
```json
{
"categories": [
{
"name": "类现金",
"items": ["货币资金", "交易性金融资产", "衍生金融资产(流动)"]
}
]
}
```
### 利润表配置
**文件**`config/income_statement_config.json`
**用途**定义需要删除的行
**示例**
```json
{
"rows_to_delete": ["股票代码", "上市公司", "财报类型", "货币"]
}
```
---
## 💡 使用场景
### 场景 1财务分析
- 快速查看资产负债结构
- 按分类汇总查看各类资产/负债占比
- 利润表数据单位统一便于分析
### 场景 2数据对比
- 多年度数据横向对比
- 分类汇总数据纵向对比
- Excel 格式便于制作图表
### 场景 3报告制作
- 处理后的数据格式规范
- 可直接用于报告和演示
- 减少手工整理时间
---
## ⚠️ 注意事项
### 通用事项
1. 支持的输入文件格式`.csv``.xlsx``.xls`
2. 输出文件格式统一为 `.xlsx`Excel 格式
3. CSV 文件使用 UTF-8 编码
4. 脚本会自动处理 `input/` 目录下的相关文件
5. 输出文件会覆盖同名的已有文件
### 资产负债表特别注意
- 项目名称必须与原始数据完全匹配
- 数据保持原始单位不进行转换
- 汇总计算会自动处理空值
### 利润表特别注意
- 绝对值 1 的数字会转换为亿
- 绝对值 < 1 的数字保持不变
- 转换后可能损失精度保留 2 位小数
---
## 🔧 常见问题
### Q1: 如何批量处理多个文件?
**A**: 将所有文件放入 `input/` 目录运行相应脚本即可自动处理所有文件
### Q2: 处理后的数据准确吗?
**A**:
- 资产负债表数据保持原样仅重新组织
- 利润表大数字转换为亿保留 2 位小数比率保持不变
### Q3: 如何修改配置?
**A**:
- 资产负债表编辑 `config/balance_sheet_categories.json` 添加/修改分类
- 利润表编辑 `config/income_statement_config.json` 添加/删除要删除的行
### Q4: 文件没有被处理怎么办?
**A**:
1. 检查文件是否在 `input/` 目录
2. 检查文件名是否包含关键词资产负债表/利润表
3. 查看脚本输出的提示信息
### Q5: 如何查看详细说明?
**A**: 查看对应的详细说明文档
- 资产负债表[资产负债表处理说明.md](资产负债表处理说明.md)
- 利润表[利润表处理说明.md](利润表处理说明.md)
---
## 📖 详细文档
- 📘 [资产负债表处理说明.md](资产负债表处理说明.md) - 资产负债表处理详细说明
- 📙 [利润表处理说明.md](利润表处理说明.md) - 利润表处理详细说明
- 📗 [更新日志.md](更新日志.md) - 版本更新历史
---
## 🎯 版本历史
### v1.2 (2025-11-09)
**资产负债表:**
- 优化输出第一行显示日期而非股票代码
- 简化名称特殊分类使用配置中的 name
- 完善分类配置新增多个遗漏的资产负债项目
**利润表:**
- 新增利润表处理工具
- 数字单位转换为亿保留 2 位小数
- 删除指定的无用行
### v1.1 (2025-11-09)
- 优化输出格式统一输出为 `.xlsx` 格式
- 新增分类汇总功能自动计算每个分类的金额总和
- 优化特殊分类显示
### v1.0 (2025-11-09)
- 初始版本
- 支持 CSV Excel 文件输入
- 支持自定义分类配置
- 自动处理批量文件
---
## 📞 技术支持
如有问题或建议
1. 查看详细说明文档
2. 检查配置文件格式
3. 查看脚本输出的提示信息
---
**祝使用愉快!🎉**