3. 原始数据采集与整理

油田生产日报的自动汇总,真正的难点往往不在公式和图表,而在“数据进门”这一步。同一口井的日产油量,可能同时出现在采油队手工填写的班报表、SCADA系统整点导出的历史数据、以及计量站交接的含水化验记录里。三份数据的时间粒度不同、字段命名不同、单位不同,甚至井号写法也不同。如果不在汇总前完成采集、清洗、去重和格式统一,后续任何透视表和图表都只是把错误放大。本节围绕这条数据入口链路展开,讲清楚每一环该怎么做、做到什么程度算合格。

一、先明确三类数据源的采集方式与边界

现场报表通常是纸质或Excel班报表,按班次(如8小时一班)记录单井产液、产油、含水、套压、回压、电流等参数,优点是贴近现场、包含SCADA未覆盖的巡检信息,缺点是人工填写易出现笔误、漏填和单位混用。SCADA导出一般是按小时或按分钟的历史数据文件(CSV或数据库导出),字段规范、时间连续,但存在通信中断造成的空值、传感器漂移造成的异常跳变,且往往只覆盖有远传的井。手工记录则包括化验室含水分析单、措施井施工记录、临时关井通知等,数量少但直接影响产量口径的修正。

采集时应遵循“先定口径、再取数”的原则:明确日报统计的时间范围(例如当日8:00至次日8:00,与班次对齐)、产量口径(井口产油还是核实产油)、单位口径(产液t/d、产油t/d、含水%)。建议为每类数据源建立一份采集登记,记录文件名、导出时间、覆盖井数、时间范围,便于后续追溯。SCADA导出尽量选择固定字段模板,避免每次导出列顺序变化导致映射错位。

二、多源数据的清洗:把“能用的数”挑出来

清洗不是简单删空行,而是按业务规则判断数据是否可信。常见处理包括:去除表头重复行与合计行;统一井号格式(如“中12-3”“Z12-3”“12-3井”统一为“Z12-3”);数值列去除单位字符并转为数值;时间列统一为“YYYY-MM-DD HH:MM”格式;对明显越界的值做标记,例如含水率大于100%、日产油为负、套压超过量程上限。对于SCADA数据,还要识别通信中断形成的连续空值段,不能简单用0填充,否则会把“没采到”误判为“不产油”。

清洗阶段建议保留原始值列和清洗后值列,并增加“清洗标记”字段(如“正常/单位换算/异常置空/人工修正”),这样日报出问题时能快速定位是采集错还是汇总错。

三、去重:同一口井同一天只能留一条有效记录

去重的关键是确定“唯一键”。生产日报通常以“井号+统计日期”为唯一键。多源合并后,同一口井同一天可能出现多条记录:SCADA小时数据聚合后一条、手工班报汇总后一条、化验单修正后一条。此时不能简单保留第一条,而应按优先级规则取舍:一般以“经化验修正的核实产量”优先于“SCADA折算产量”,SCADA折算产量优先于“手工估算产量”;若同一优先级出现多条,取时间戳最新或标记为“已审核”的记录。去重后应输出一份重复记录清单,列明被舍弃记录及其来源,供采油队复核,而不是静默删除。

多源数据采集—清洗—去重—格式统一链路 现场班报表 单井产液/产油/含水 套压/回压/电流 SCADA导出 小时历史数据CSV 远传井连续时间序列 手工记录 含水化验单/措施记录 临时关井通知 采集登记 文件名/导出时间 覆盖井数 时间范围 统计口径 清洗规则 去表头/合计行 井号格式统一 去单位转数值 时间格式统一 越界值标记 空值段识别 保留清洗标记列 去重与取舍 唯一键:井号+日期 优先级:核实>折算>估算 同优先级取最新/已审核 输出重复记录清单 供采油队复核 统一输出表 井号 统计日期 产液t/d 产油t/d 含水% 套压/回压MPa 数据来源 清洗标记 判断依据:清洗后有效井数应等于采集登记覆盖井数减去已确认关井/停井井数;重复记录清单须逐条闭环,不得静默删除。

四、格式统一:让汇总程序“认得”每一列

格式统一的目标是产出一张结构固定的“日报基础表”,后续所有汇总、透视和图表都只读这张表。建议字段至少包括:井号、统计日期、产液量(t/d)、产油量(t/d)、含水率(%)、套压(MPa)、回压(MPa)、生产时间(h)、数据来源、清洗标记、备注。字段顺序固定,列名固定,单位在列名中体现,避免同一列混用t和m³。数值列统一保留两位小数,日期列统一为文本“YYYY-MM-DD”,防止Excel自动转换造成跨月错位。

对于SCADA小时数据折算日产量,需要先明确折算方法:若按小时产液量累加,则日产量=Σ小时产液量×1h;若SCADA给的是瞬时流量,则需按时间加权积分。折算结果应标注“SCADA折算”,与核实产量区分。生产时间不足24小时的井(如临时关井、间开井),日产油应按实际生产时间折算或直接标注实际产量口径,不能与全天生产井混在一起直接平均。

五、一个可复用的整理示例

假设某采油队有3口井,SCADA导出文件包含Z12-3、Z12-4两口远传井的小时数据,班报表包含Z12-3、Z12-4、Z12-5三口井,化验单给出Z12-3当日含水复测值。整理时先统一井号,将班报表中的“12-3井”改为“Z12-3”;再将SCADA小时产液累加得到日折算产液,按化验含水计算折算产油;然后以“井号+日期”去重,Z12-3保留化验修正后的核实产量,Z12-4保留SCADA折算值,Z12-5保留班报手工值并标注“手工估算”;最后输出基础表并附重复记录清单。这样得到的日报,每一口井的产量都能说清来源和取舍理由。

常见错误:用0填充SCADA通信中断时段的产油量,会把停井误判为正常生产;把班报表的“含水%”直接当小数参与计算;去重时按行号保留第一条,导致化验修正值被丢弃。这三类问题都会让日报总量出现系统性偏差,且很难在图表上直接看出来。

完成上述四步后,原始数据才算真正“进门”。判断整理是否合格,可以看三个信号:基础表行数等于“覆盖井数-确认停井井数”;每口井的数据来源和清洗标记均可追溯;重复记录清单已闭环。做到这三点,后续的自动汇总才有可靠的数据底座。