# 市州月报格式差异报告 - 探测日期:2026-09-17 - 探测范围:`docs/投资/输入/客运(客运站)/7月`(10 个文件)、`docs/投资/输入/物流(物流园区)/7月`(17 个文件),另含 6 张目标表、1 个投资系统项目表 - 探测工具:`docs/投资/工具/格式探测.py`(xlrd / openpyxl 只读打开,**不改动任何源文件**) - 对应需求文档:《投资月报数据处理与多表更新需求说明(最终汇总版)》第九节确认事项 D --- ## 一、总体结论(先看这一段) 1. **好消息**:27 个市州月报中有 **20 个**直接使用省统一模板,列位与目标明细表**完全一致**,可以按列位稳定解析;差异只集中在 **7 个文件**上。 2. **风险集中**:真正的解析风险是 4 类—— - ① **数据不在第一个工作表里**(随州在 `Sheet2`;林区/潜江/襄阳必须按工作表选月份); - ② **同一工作表里混着别的市州或历史数据**(十堰物流表里前半段是「武汉」2013—2016 年的历史项目); - ③ **列位右移 1 列**(襄阳客运 `.et` 多出「建设规模」列); - ④ **「建设阶段 / 形象进度」没有分成两列**(恩施、黄石物流表合并成一列;太原汉口南山的简表没有建设阶段列)。 3. **不能按工作表名称取数**:林区 `林区物流投资月报2026.07.24.xlsx` 里 7 月数据在名为 `2026.7` 的工作表,但同一文件里 `Sheet1` 装的是 3 月、`Sheet4` 装的是 5 月;潜江 `潜江2026.07.xlsx` 里 7 月数据竟在名为 **`潜江传化2022.3`** 的工作表(表头日期 2026.07.22),其余 24 张表全是 2018—2021 年的历史数据。 → **必须用「表头区日期」判定月份,工作表名只能当参考。** 4. **客运 7 月只有 10 个市州报了文件**(缺 黄石、鄂州、随州、天门、潜江、仙桃、荆州;武汉只报了「南山、汉口站」两个项目),物流 17 个市州齐全。程序不能因为「少文件」就报错,要按市州清单对账并提示缺失。 --- ## 二、标准列位(省统一模板,20 个文件适用) | 字段 | 列 | 表头文字(各市州写法) | | --- | --- | --- | | 序号 | A | 序 号 | | 项目名称 | **B** | 项目名称及站级 / 项目名称及战级 / 项目名称 | | 投资建设单位名称 | C | 投资建设单位名称 / 项目业主 | | 建设性质 | D | 建设性质 | | 开工时间 | E | 开工时间 / 开工年 | | 竣工时间 | F | 竣工时间 / 竣工时间 / 建成时间 | | 总投资 | G | 总投资(万元) / 计划总投资(万元) | | **自开始建设累计完成投资** | **H** | 自开始建设累计完成投资(万元) | | **本年计划投资** | I | 本年计划投资(万元) | | **自年初累计完成投资** | **J** | 自年初累计完成投资(万元)/ 合计 | | **其中:本月完成投资** | **K** | 其中:本月完成投资 / 本月完成投资(万元)/ 本月 / 当月完成投资(万元) | | **项目建设阶段** | **L** | 项目建设阶段、进度情况(合并表头下左列,子表头「建设阶段」) | | **形象进度** | **M** | 形象进度(合并表头下右列,部分文件子表头缺失) | | 工可 / 初设 | S / T | 项目前期工作批复文件(各文件有 ±1 列偏移) | > 粗体 = 我们真正要取的数字段(明细表要更新的 5 列)。 ### 目标明细表的列位(与标准列位一致) | 目标表 | 工作表 | 项目名称 | 自开始建设累计 | 自年初累计 | 其中本月完成 | 建设阶段 | 形象进度 | 数据起始行 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `模板_X月客运站投资明细表.xlsx` | `明细` | B | H | J | K | L | M | 12 | | `模板_X月物流站场投资明细.xls` | ` 分项目投资完成情况` | B | H | J | K | L | M | 12 | --- ## 三、逐文件格式对照(2026 年 7 月) ### 3.1 客运(10 个文件) | 市州 | 文件 | 数据工作表 | 表头行 | 数据行 | 列位是否标准 | 差异说明 | | --- | --- | --- | --- | --- | --- | --- | | 孝感 | (孝感市道运中心)202607孝感市道路客运站场投资统计月报表.xls | Sheet1 | 4—9 | 12—14 | ✅ 标准 | — | | 恩施 | 2026湖北省道路客运站场投资统计报7月(恩施州).xls | `1` | 3—8 | 10—15 | ✅ 标准 | 表头整体上移 1 行;工作簿另有 4 张垃圾空白表(SIMZNE 等) | | 林区 | 2026年7月林区道路客运站场投资统计报表(月、年报).xls | 月1 | 4—9 | 13 | ✅ 标准 | 项目仅 1 行;另有空模板表「月2」 | | 黄冈 | 2026年7月省站场投资表(黄冈) -.xlsx | 月 | 4—9 | 12—23 | ✅ 标准 | used range 到 1020 行(尾部大量空白/残留格式);B 列表头里混着「合计」二字;文件名含空格和连字符 | | 咸宁 | 2026年7月咸宁市客运站场投资统计月报表(1)省表(1).xls | 月报表 | 4—9 | 14—24 | ✅ 标准 | 尾部多 1 列(工可在 T、初设在 U);文件名带 (1)(1) 后缀 | | 武汉(南山、汉口) | 2026年7月站场固投(南山、汉口站).xlsx | Sheet1 | 3 | 6—7 | ❌ 简表 | B 名称 / C 单位 / D 性质 / **E 建设时间(开工+竣工合并)** / F 计划总投资 / G 至上年底完成投资 / H 自开始建设累计 / I 本年计划投资 / **J 合计(自年初累计)** / K 本月完成 / **L 截止目前建设进展(无「建设阶段」列)** | | 宜昌 | 湖北省宜昌市道路客运站场投资报表(月、年报)07月.xls | 客运站月报 | 4—5 | 7—13 | ✅ 标准 | 表头仅 2 行;工可在 Q、初设在 R | | 荆门 | 荆门市客运站场投资统计7月.xls.xls | 表1 | 4—9 | 11—13 | ✅ 标准 | **双扩展名 `.xls.xls`** | | 十堰 | 十堰市2026年7月固定资产月报电子版投资表格.xlsx | Sheet1 | 4—8 | 12—15 | ✅ 标准 | F 列表头写作「建成时间」;4 个项目行中有 2 行**没有序号**(竹山高速客运站、竹山客运中心站) | | 襄阳 | 襄阳市道路运输服务中心2026年6月投资 (1).et | 2026年7月 | 4—6、9 | 12—18 | ⚠️ **右移 1 列** | **WPS `.et` 格式**;文件名写「6月」但内容是 7 月;工作簿内有 2026年1月—2026年7月 共 7 张分月表,必须按工作表选月;**D 列多出「建设规模(站级和项目类型)」**,导致 建设性质=E、开工=F、竣工=G、总投资=H、自开始建设累计=**I**、本年计划=**J**、自年初累计=**K**、本月完成=**L**、建设阶段=**M**、形象进度=**N** | ### 3.2 物流(17 个文件) | 市州 | 文件 | 数据工作表 | 表头行 | 数据行 | 列位是否标准 | 差异说明 | | --- | --- | --- | --- | --- | --- | --- | | 黄冈 | 202607---黄冈物流站场投资表(最终版).xls | ` 分项目投资完成情况(黄冈)` | 4、6、8、9 | 16—27 | ✅ 标准 | — | | 恩施 | 2026年7月恩施州物流(货运)项目投资明细 .xls | ` 分项目投资完成情况` | 5 | 11—16 | ⚠️ 部分 | K 表头为「本月完成投资(万元)」(无「其中:」);**L/M 合并为一列「项目建设阶段、进度情况」→ 建设阶段与形象进度未分列** | | 黄石 | 2026年7月份物流(货运)投资项目明细表(黄石市) (2).xls | Sheet1 | 3—4 | 9—18 | ⚠️ 部分 | 8 个项目行中有 1 行**没有序号**(金山口物流园项目);同页尾部还有签字栏「投资完成率」行(B 列为「黄石」「崇阳」等短名),解析时必须排除 | **L 列是「完成百分比」(数值 0.6912…)**,没有「建设阶段」列;M 列是合并的「项目建设阶段、进度情况」 | | 孝感 | 2026年7月份孝感物流项目投资统计表.xls | ` 分项目投资完成情况` | 5—6 | 11—18 | ✅ 标准 | M(形象进度)子表头缺失,列位仍与标准一致;第 7 行是「孝感」市州汇总行 | | 襄阳 | 2026年7月湖北省襄阳市交通物流基础设施投资统计报表 (1).xls | Sheet1 | 3—4 | 6—17 | ✅ 标准 | B 列表头是「项目名称」(无「及站级」) | | 鄂州 | 2026年7月企业月报汇总(鄂州).xls | Sheet1 | 5—10 | 13—15 | ✅ 标准 | 表头是 3 行合并结构且错位(I5「自年初累计完成投资(万元)」横跨 I:L),**解析必须按第 6/7 行的列位取值,不能按合并表头** | | 随州 | 2026年7月物流基础设施建设投资月报(随州) (1).xls | **Sheet2** | 3—4 | 5—6 | ⚠️ 部分 | **数据不在第一个工作表**(首表「月2」是空模板);**没有序号列**:A=项目名称及站级、B=空列、C=投资建设单位;K 列名「当月完成投资(万元)」 | | 天门 | 7月份物流园中心建设项目 (天门).xlsx | Sheet1 | 5—10 | 13 | ✅ 标准 | 同鄂州的多行合并错位表头 | | 武汉 | 报表—武汉七月.xls | 明细 | 5—10 | 15—20 | ✅ 标准 | — | | 十堰 | 湖北省十堰交通物流基础设施投资统计汇总表(月报)(2026年7月).xls | 分项目投资完成情况 | 5—10 | 13—76(38 个项目行;其中只有 R70—R76 共 7 行属于十堰,其余全部是「武汉」历史区块) | ⚠️ **高风险** | 同一工作表里混着**两个市州区块**:第 11 行起是「武汉」(2013—2016 年的历史项目),第 64 行起才是「十堰」。**必须按市州行切段,只取十堰段**,否则会把武汉历史数据算进十堰 | | 宜昌 | 湖北宜昌市物流基础设施投资统计报表(月、年报)07月.xls | 物流月报 | 4—5 | 6—18 | ✅ 标准 | 表头仅 2 行 | | 荆门 | 荆门2026年07月项目投资总报表(物流).xls | ` 分项目投资完成情况` | 3—4 | 9—17 | ⚠️ 轻微 | J 列表头写作「年初累计完成投资(万元)」(**少一个「自」字**) | | 荆州 | 荆州物流投资(2026年7月报省) .xls | 2607月分项目投资完成情况 | 5—10 | 19—29 | ✅ 标准 | 行内含「小计」行,需排除 | | 林区 | 林区物流投资月报2026.07.24.xlsx | **2026.7**(表头日期 2026.07.24) | 5—10 | 15 | ✅ 标准 | **27 张工作表**,含 2018—2022 历史月;同文件内 `Sheet1`=2026.03、`Sheet4`=2026.05,命名错乱 → **按表头日期选表** | | 潜江 | 潜江2026.07.xlsx | **潜江传化2022.3**(表头日期 2026.07.22) | 5—10 | 15 | ✅ 标准 | **27 张工作表**,除「潜江传化2022.3」(表头日期 2026.07.22)外全是 2018—2021 历史数据;工作表名与实际月份严重不符;**且该表只有 1 个项目行,疑似漏报,需人工核实** | | 仙桃 | 仙桃市物流园投资统计报表(202607).xls | `1` | 4、5、6、8、9、14 | 12—13 | ✅ 标准 | H 列表头区残留日期「2026.7.24」;项目仅 2 行 | | 咸宁 | 咸宁市2026年7月份物流(货运)项目投资明细 (1).xls | ` 分项目投资完成情况` | 4—5 | 10—18 | ⚠️ 轻微 | K 列表头只有「本月」二字;**表内标题误写为「2026年6月」**(内容为 7 月);第 6 行是「咸宁」市州汇总行 | --- ## 四、差异清单(按风险分级) ### 高风险(会导致取错数 / 算错数,必须专门处理) | # | 市州 / 文件 | 问题 | 建议处置 | | --- | --- | --- | --- | | H1 | 十堰物流 | 同一工作表混入「武汉」历史区块(2013—2016 年项目) | 以「A 列为市州名且仅 A 列有值」的行作为分段标志,只取本市州段;解析后做**分段校验**(项目数、合计值与该段「小计/合计」行比对),不一致即弹窗 | | H2 | 潜江 / 林区 | 工作表名与实际月份不符;27 张表中只有 1 张是本期数据 | 按**表头区日期**(H4 附近的日期格,如 2026.07.22 / 2026.07.24)判定月份并选表;找不到当期表即弹窗报「未找到 X 月数据表」 | | H3 | 襄阳客运 | `.et` 格式 + 列位整体右移 1 列 + 文件名月份与实际不符 | 用 Excel COM 打开 .et;按**表头文字定位列**(不写死列号)后按名称取值;用工作表内日期核对月份 | | H4 | 本项目所有源文件 | 数据区把「市州行 / 分类行(一、二、三、四)/ 小计行 / 合计行 / 空行」和项目行混排 | 统一的「项目行判定」规则:A 列为整数序号(或随州式无序号)+ B(或 A)列项目名称非空 + 名称不含「小计/合计/一、/二、/三、/四、」;同时把 市州行、小计行 收集为**校验用对照组** | ### 中风险(会造成少取/漏取,但不至于取错数) | # | 市州 | 问题 | 建议处置 | | --- | --- | --- | --- | | M1 | 恩施物流、黄石物流 | 「建设阶段 / 形象进度」合并为一列(黄石的 L 列还是「完成百分比」) | 合并列整体作为「形象进度」写入明细表 M 列;「建设阶段」留空并**记录待补**;两列都写入前**弹窗提示人工确认**(这两市州的数据需要人工拆分或确认口径) | | M2 | 武汉(南山、汉口)客运 | 简表布局:无开工/竣工分列、无建设阶段列,L 列是「截止目前建设进展」 | 单独一条映射规则;建设阶段留空,形象进度取 L 列;项目名称为「汉口客运中心」「武汉南(山坡)客运枢纽站」两个,需确认是否与明细表存量项目同名 | | M3 | 鄂州、天门物流 | 3 行合并表头错位(I5「自年初累计完成投资」横跨 I:L) | 解析时固定用**第 6 行(子表头行)**取列位,忽略第 5 行的合并大表头 | | M4 | 随州物流 | 数据在 Sheet2、无序号列 | 遍历工作表找「含表头关键字段 + 有数据行」的表;项目名称列 A | | M5 | 黄冈客运、黄冈物流、孝感物流、荆州物流、仙桃物流 | 数据区含小计/合计行、尾部大量空白行、used range 虚高(黄冈客运到 1020 行) | 按项目行判定规则过滤;不要用 used range 作为行数依据 | ### 低风险(只影响表头文字,不影响取数) - 荆门物流 J 列表头少「自」字;咸宁物流 K 列表头只有「本月」;咸宁物流标题误写 6 月;十堰客运 F 列写「建成时间」;孝感物流 M 列子表头缺失;仙桃物流 H 列表头残留日期;文件名带 `(1)`、`(2)`、空格、连字符(黄冈客运 ` -.xlsx`)、双扩展名(荆门客运 `.xls.xls`)。 - 开工/竣工时间写法不统一:`2024`、`2024.0`、`2023.01`、`2023.10`;序号写法不统一:`1`、`1.0`、`"1"`。 - 文件格式三种:`.xls`(最多)、`.xlsx`、`.et`(襄阳客运)。 --- ## 五、给程序实现的建议(供拍板) 1. **列位不要写死**:按「字段名 → 列」的方式,在表头区(前 12 行 × 前 30 列)做**关键字匹配**定位列,再回退到标准列位。本次探测已确认关键字匹配可覆盖全部 27 个文件。 2. **月份不要靠文件名/工作表名**:优先用表头区日期格判定;判不出来再用文件名中的 6 位 `YYYYMM`;再判不出来才用「含数据的最后一张表」并且**必须弹窗确认**。 3. **分段解析**:把工作表按「市州行 / 分类行 / 小计行 / 合计行」切成段,只取目标市州段的项目行;用「小计/合计」行与项目行求和做**内部一致性校验**(不一致 → 弹窗 + 记日志)。 4. **市州清单对账**:程序内置 17 市州清单,对缺失文件、缺失数据表逐个提示(本次客运缺 7 个市州文件)。 5. **读文件优先 Excel COM**(`.et` 只能 COM/WPS 读;`.xls` 用 COM 也能拿到公式结果),xlrd/openpyxl 仅用于**格式探测**这类只读场景。 --- ## 六、待确认问题(需要您拍板) 1. **恩施物流、黄石物流**的「建设阶段 / 形象进度」合并列,本期按什么口径写入明细表?(建议:整体写入「形象进度」,建设阶段留空 + 弹窗提示) 2. **武汉(南山、汉口)客运简表**的「建设阶段」没有对应列,是否同样留空? 3. **潜江物流 7 月只有 1 个项目行**(潜江传化公路港),是否漏报?(该文件里 2026 年数据被写进了名为「潜江传化2022.3」的工作表) 4. **汇总表**(`2026年全省预安排计划进度情况汇总`)里没有「其中:本月完成投资」这一列(现有列为 I=自开始建设累计、W=1-7月累计完成投资、X=实际进度),需求文档里写的 4 项指标与模板列对不上,第 ③ 项「本月完成投资」应落在哪一列? 5. **《亿元投资项目》**(`规上项目表`)里没有「自开始建设累计完成投资」和「自年初累计完成投资」列(现有列为 截至2025年年底实际完成投资 + 2026年各月实际/计划完成投资),需求文档里的「更新 3 项」与模板列对不上,请确认映射。 6. **客运缺 7 个市州文件**(黄石、鄂州、随州、天门、潜江、仙桃、荆州):是本期确实没有项目,还是漏报?程序遇到缺失应「跳过 + 提示」还是「报错中止」? --- (本报告由 `docs/投资/工具/格式探测.py` 对 2026 年 7 月源文件实测生成,结论可直接用同一脚本对其他月份复跑。)