Files
organize_excel_data/利润表处理说明.md
2026-03-05 22:02:57 +08:00

5.4 KiB
Raw Permalink Blame History

利润表数据处理工具使用说明

📋 功能介绍

本工具用于处理利润表数据,主要功能:

  1. 数字单位转换将大数字≥1转换为以亿为单位保留两位小数
  2. 保留小数:小数/比率(<1保持不变
  3. 删除指定行:根据配置删除不需要的行
  4. 日期置顶:第一行显示日期
  5. 输出 Excel:统一输出为 .xlsx 格式

🚀 快速开始

1. 准备利润表文件

将利润表文件CSV 或 Excel放入 input/ 目录

文件命名建议:文件名包含"利润表"或"income",如:

  • 美的集团_利润表_合并报表_20251106.csv
  • income_statement.xlsx

2. 运行处理脚本

python3 process_income_statement.py

3. 查看结果

处理后的文件保存在 output/ 目录,文件名格式:processed_原文件名.xlsx


⚙️ 配置文件说明

配置文件位于:config/income_statement_config.json

默认配置

{
    "rows_to_delete": [
        "股票代码",
        "上市公司",
        "财报类型",
        "货币",
        "审计意见",
        "会计师事务所",
        "数据来源于:理杏仁网站(lixinger.com)"
    ]
}

自定义配置

如需删除其他行,直接在 rows_to_delete 数组中添加:

{
    "rows_to_delete": ["股票代码", "上市公司", "你要删除的行名称"]
}

📊 数据转换规则

规则说明

原始数据 判断标准 转换结果 示例
大数字 绝对值 ≥ 1 除以 1 亿,保留 2 位小数 123456789 → 1.23
小数/比率 绝对值 < 1 保持不变 0.15 → 0.15
空值 - 保持空 -

示例

输入数据:

营业收入,381900000000,343200000000
毛利率,0.2543,0.2489

输出数据:

营业收入,3819.00,3432.00
毛利率,0.2543,0.2489

📝 输出格式

文件结构

第1行日期       2024/12/31  2023/12/31  2022/12/31  ...
第2行营业收入   3819.00     3432.00     3200.50     ...
第3行营业成本   2848.12     2578.45     2401.32     ...
第4行毛利率     0.2543      0.2489      0.2498      ...
...

特点

  • 第一行是日期
  • 大数字转换为亿(保留 2 位小数)
  • 比率保持原样
  • 删除了配置中指定的行
  • 输出为 Excel 格式

🔧 常见问题

Q1: 如何判断哪些是小数/比率?

A: 脚本自动判断:绝对值 < 1 的数字保持不变,≥ 1 的转换为亿

Q2: 如何添加要删除的行?

A: 编辑 config/income_statement_config.json,在 rows_to_delete 中添加行名称

Q3: 文件没有被处理怎么办?

A:

  1. 检查文件是否在 input/ 目录
  2. 文件名建议包含"利润表"或"income"
  3. 如果文件名不符合规则,脚本会提示是否处理所有文件

Q4: 如何处理所有文件?

A: 如果文件名不包含"利润表"或"income",脚本会询问是否处理所有文件


📂 目录结构

organize_excel_data/
├── config/
│   ├── balance_sheet_categories.json      # 资产负债表配置
│   └── income_statement_config.json       # 利润表配置(新增)
├── input/
│   └── [你的利润表文件]
├── output/
│   └── processed_[原文件名].xlsx
├── process_balance_sheet.py               # 资产负债表处理脚本
├── process_income_statement.py            # 利润表处理脚本(新增)
└── 利润表处理说明.md                       # 本文档

💡 使用示例

示例 1处理单个文件

# 1. 将文件放入 input 目录
cp 美的集团_利润表.csv input/

# 2. 运行脚本
python3 process_income_statement.py

# 3. 查看结果
open output/processed_美的集团_利润表.xlsx

示例 2批量处理

# 1. 将多个文件放入 input 目录
cp *利润表*.csv input/

# 2. 运行脚本(自动处理所有利润表文件)
python3 process_income_statement.py

# 3. 查看 output 目录
ls output/

⚠️ 注意事项

  1. 数据精度:转换为亿后保留 2 位小数,可能损失精度
  2. 小数判断:绝对值 < 1 的数字被认为是比率,不会转换
  3. 行名称匹配:删除行时需要完全匹配(包括空格和标点)
  4. 日期行:必须有"日期"这一行,否则无法正确放置第一行
  5. 输出覆盖:同名输出文件会被覆盖

🎯 与资产负债表处理的区别

特性 资产负债表 利润表
脚本名称 process_balance_sheet.py process_income_statement.py
主要功能 分类汇总 单位转换 + 删除行
数字处理 保持原始数据 转换为亿(保留 2 位小数)
配置文件 balance_sheet_categories.json income_statement_config.json
输出格式 按分类组织 保持原始顺序

如有问题,请参考详细文档 README.md 或查看示例输出