读取Excel 进行汇总

This commit is contained in:
2026-03-05 22:02:57 +08:00
commit 01b7759921
40 changed files with 3843 additions and 0 deletions

View File

@@ -0,0 +1,276 @@
# 资产负债表数据处理工具使用说明
## 📋 功能介绍
本工具用于处理资产负债表数据,主要功能:
1. **分类重组**:按照预定义分类重新组织数据
2. **自动汇总**:计算每个分类的金额总和
3. **日期置顶**:第一行显示日期
4. **名称简化**:特殊分类使用简化名称
5. **输出 Excel**:统一输出为 `.xlsx` 格式
---
## 🚀 快速开始
### 1. 准备资产负债表文件
将资产负债表文件CSV 或 Excel放入 `input/` 目录
**文件命名建议**:文件名包含"资产负债表",如:
- `美的集团_资产负债表_合并报表_20251106.csv`
- `balance_sheet.xlsx`
### 2. 运行处理脚本
```bash
python3 process_balance_sheet.py
```
### 3. 查看结果
处理后的文件保存在 `output/` 目录,文件名格式:`organized_原文件名.xlsx`
---
## 📊 分类说明
配置文件定义了以下 9 个分类:
### 1. 资产总计
- 一、资产总计
### 2. 所有者权益合计
- 三、所有者权益合计
### 3. 负债合计
- 二、负债合计
### 4. 类现金6 项)
- 货币资金
- 交易性金融资产
- 衍生金融资产(流动)
- 应收票据及应收账款
- (其中)应收票据
- 应收款项融资
### 5. 应收账款5 项)
- (其中)应收账款
- 其他应收款
- 合同资产
- 长期应收款
- 一年内到期的非流动资产
### 6. 投资资产8 项)
- 债权投资
- 其他债权投资
- 可供出售金融资产(非流动)
- 持有至到期投资
- 长期股权投资
- 其他权益工具投资
- 其他非流动金融资产
- 投资性房地产
### 7. 经营类资产12 项)
- 其他流动资产
- 存货
- 持有待售资产
- 固定资产
- 在建工程
- 使用权资产
- 无形资产
- 商誉
- 预付款项
- 长期待摊费用
- 递延所得税资产
- 其他非流动资产
### 8. 有息负债8 项)
- 短期借款
- 向中央银行借款
- 交易性金融负债
- 衍生金融负债
- 卖出回购金融资产
- 长期借款
- 应付债券
- 一年内到期的非流动负债
### 9. 经营性负债17 项)
- 应付票据及应付账款
- (其中)应付票据
- (其中)应付账款
- 预收账款
- 合同负债
- 吸收存款及同业存放
- 应付职工薪酬
- 应交税费
- 其他应付款
- 其他流动负债
- 租赁负债
- 长期应付款
- 长期应付职工薪酬
- 预计负债(非流动)
- 长期递延收益
- 递延所得税负债
- 其他非流动负债
---
## 📝 输出格式
### 文件结构
```
第1行日期 2024/12/31 2023/12/31 2022/12/31 ...
第2行资产总计 604,352亿 486,038亿 422,555亿 ...
第3行所有者权益合计 227,667亿 174,300亿 151,924亿 ...
第4行负债合计 376,684亿 311,739亿 270,631亿 ...
第5行类现金 216,678亿 142,001亿 110,501亿 ... ← 汇总行
第6行 货币资金 140,410亿 81,674亿 55,270亿 ...
第7行 交易性金融资产 6,936亿 1,791亿 3,285亿 ...
...
[空3行]
未分类项目
[未在配置中的项目]
```
### 输出说明
1. **第一行**:日期行,显示各年份的日期(如:日期, 2024/12/31, 2023/12/31, ...
2. **特殊分类**:资产总计、所有者权益合计、负债合计这三项直接显示数据,不额外添加分类标题行
- 名称已简化(如:"一、资产总计" → "资产总计"
- 使用配置文件中定义的 name
3. **普通分类**:其他分类会添加分类标题行,该行显示该分类下所有项目的**汇总金额**,然后是明细项目
4. **空行分隔**:在已分类数据和未分类数据之间有 3 行空行
5. **未分类项目**:配置文件中未定义的项目会放在最后,标题为"未分类项目"
6. **输出格式**:统一输出为 `.xlsx` 格式Excel 文件)
---
## ⚙️ 自定义配置
### 配置文件位置
`config/balance_sheet_categories.json`
### 配置格式
```json
{
"categories": [
{
"name": "分类名称",
"items": ["项目1", "项目2"]
}
]
}
```
### 参数说明
- `name`:分类的显示名称
- `items`:该分类包含的项目列表(需要与原始数据中的字段名称完全匹配)
### 添加新分类
```json
{
"categories": [
{
"name": "你的分类名称",
"items": ["项目名称1", "项目名称2", "项目名称3"]
}
]
}
```
⚠️ **注意**:项目名称必须与原始数据中的字段名称**完全匹配**(包括空格和标点符号)
---
## 💡 使用示例
### 示例 1处理单个文件
```bash
# 1. 将文件放入 input 目录
cp 美的集团_资产负债表.csv input/
# 2. 运行脚本
python3 process_balance_sheet.py
# 3. 查看结果
open output/organized_美的集团_资产负债表.xlsx
```
### 示例 2批量处理
```bash
# 1. 将多个文件放入 input 目录
cp *资产负债表*.csv input/
# 2. 运行脚本(自动处理所有文件)
python3 process_balance_sheet.py
# 3. 查看 output 目录
ls output/
```
---
## 🔧 常见问题
### Q1: 为什么某些项目没有被分类?
**A**: 请检查配置文件中的项目名称是否与原始数据中的字段名称完全一致。可以查看脚本输出的"未分类"列表来确认字段名称。
### Q2: 如何处理合并项目(如"应收票据及应收账款"
**A**: 配置文件已经包含了常见的合并项目和明细项目。如果有其他合并项目,请在配置文件中添加相应的字段名称。
### Q3: 汇总金额是如何计算的?
**A**: 脚本会自动将该分类下所有明细项目的金额相加。计算时会自动处理空值和非数字数据。
### Q4: 可以修改分类名称吗?
**A**: 可以。在配置文件中修改 `name` 字段即可。输出时会使用新的名称。
### Q5: 如何查看未分类的项目?
**A**: 运行脚本时,控制台会输出所有未分类项目的列表,也可以在输出文件的最后查看。
---
## ⚠️ 注意事项
1. **项目名称匹配**:项目名称必须与原始数据中的字段名称**完全匹配**(包括空格和标点符号)
2. **数据单位**:数据保持原始单位,不进行转换
3. **汇总计算**:分类汇总行会自动计算该分类下所有项目的金额总和
4. **文件格式**:支持输入 `.csv``.xlsx``.xls`,统一输出为 `.xlsx`
5. **文件覆盖**:输出文件会覆盖同名的已有文件
6. **CSV 编码**CSV 文件使用 UTF-8 编码
---
## 📂 相关文件
- **配置文件**`config/balance_sheet_categories.json`
- **处理脚本**`process_balance_sheet.py`
- **输出目录**`output/`
- **主文档**`README.md`
---
**如有更多问题,请参考主文档 README.md 或查看示例输出**