1. 日报基础字段完整性核查

为什么先做完整性核查

钻井液日报是后续所有诊断的输入源。密度、漏斗黏度、失水、泥饼厚度、含砂量、pH 值这六项属于现场判断井眼清洁、滤失控制与化学平衡的核心参数,任何一项缺失都会让后续的趋势分析、异常跳变识别和单位换算失去基准。因此第一步不是判断数值对错,而是确认"该有的字段有没有值"。

完整性核查的判定规则很简单:字段存在且填写了可解析的数值(或明确标注"未测/无"),才算"已填";字段为空、只有单位没有数值、或填了"—""/""待补"等占位符,一律记为缺失。核查只做标记,不做数值合理性判断——那是后续案例的任务。

核查对象与字段清单

以一份典型的单日钻井液日报为例,需要逐项核对的必填字段如下(字段名以现场日报常见写法为准,实际报表可能略有差异,核查时以本井报表模板的字段定义为准):

序号字段常见单位缺失判定示例
1密度g/cm³空白、仅写"g/cm³"
2漏斗黏度s空白、填"—"
3失水mL/30min空白、填"待补"
4泥饼厚度mm空白、填"/"
5含砂量%空白、仅写"%"
6pH 值无量纲空白、填"未测"

核查流程与标记方式

实际操作可以按"取字段值 → 去空白 → 判断是否可解析为数值 → 记录状态"四步走。下面给出一段可直接运行的 Python 示例,用字典模拟一份日报记录,输出每个字段的核查状态和缺失清单。示例数据为教学构造,不代表任何真实井的实测值。

REQUIRED_FIELDS = ["密度", "漏斗黏度", "失水", "泥饼厚度", "含砂量", "pH值"]

# 教学示例:一份存在多处缺失的日报记录
daily_report = {
    "密度": "1.28",
    "漏斗黏度": "",          # 空白
    "失水": "4.6",
    "泥饼厚度": "—",         # 占位符
    "含砂量": "0.3",
    "pH值": None,            # 未填写
}

PLACEHOLDERS = {"", "—", "-", "/", "待补", "未测", "无"}

def check_field(value):
    """返回 (是否已填, 说明)"""
    if value is None:
        return False, "字段为空"
    text = str(value).strip()
    if text in PLACEHOLDERS:
        return False, f"占位符:{text!r}"
    try:
        float(text)
        return True, "已填"
    except ValueError:
        return False, f"无法解析为数值:{text!r}"

missing = []
for field in REQUIRED_FIELDS:
    ok, note = check_field(daily_report.get(field))
    status = "OK" if ok else "缺失"
    print(f"{field:<6} {status:<4} {note}")
    if not ok:
        missing.append(field)

print("\n待补录字段:", "、".join(missing) if missing else "无")
print(f"完整率:{len(REQUIRED_FIELDS) - len(missing)}/{len(REQUIRED_FIELDS)}")

按上述示例数据运行,预期输出为:密度、失水、含砂量三项 OK;漏斗黏度(空白)、泥饼厚度(占位符"—")、pH 值(None)三项缺失,待补录字段为"漏斗黏度、泥饼厚度、pH值",完整率 3/6。这里的输出是依据给定输入直接推出的结果,不是实测运行记录。

把 PLACEHOLDERS 集合按本井报表的实际占位写法维护,比逐条写 if 判断更易扩展;新增必填字段时只需改 REQUIRED_FIELDS 列表。

核查结果的结构化呈现

下面的图示把六个必填字段的核查路径与最终标记结果放在一起:左侧是字段取值,中间按"空值 / 占位符 / 可解析数值"分流,右侧落到"已填"或"缺失待补录"两种状态,并汇总出完整率。这样一眼就能看出哪些字段需要回现场补测。

日报必填字段完整性核查 六项核心参数 → 取值判定 → 已填 / 缺失待补录 密度 1.28 g/cm³ 漏斗黏度 (空白) 失水 4.6 mL/30min 泥饼厚度 "—" 占位符 含砂量 0.3 % pH 值 None 未填写 可解析为数值 float() 成功 空值 / 占位符 strip 后命中集合 可解析为数值 float() 成功 空值 / 占位符 strip 后命中集合 可解析为数值 float() 成功 空值 / 占位符 None 判为空 已填 ✓ 缺失 · 待补录 已填 ✓ 缺失 · 待补录 已填 ✓ 缺失 · 待补录 核查汇总 3/6 完整率 50% 待补:漏斗黏度 泥饼厚度、pH值

补录与复核要点

  • 缺失项回现场补测:漏斗黏度、泥饼厚度、pH 值需按当日实际测量补录,不能凭相邻日期数值推算填入,否则会污染后续趋势判断。
  • 占位符统一处理:报表中"—""/""待补"等写法应统一归入缺失,避免被误当作有效值参与统计。
  • 复核通过条件:六项字段全部为可解析数值,完整率达到 6/6,且补录值与当日其他记录(如测量时间、班次)能对应,方可进入下一步的单位与量纲核查。
完整性核查只回答"有没有值",不回答"值对不对"。密度单位混用、漏斗黏度跳变等问题需在后续核查中单独处理,不要在本步提前下结论。