You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何加载并处理非LAS格式的.log格式测井数据

测井.log格式文件加载与处理实操方案

测井场景下的.log后缀文件不是统一标准格式,是不同测井系统、不同软件导出的自定义格式,没法直接套用LAS文件的加载逻辑,按下面的流程处理即可,不需要重构你现有的LAS处理链路。

第一步:先判定文件类型

拿到文件不要直接改后缀硬塞LAS加载工具,先用纯文本编辑器打开看前50行内容,快速归为两类:

  • 文本类.log:能正常看到文字、数字,头部一般会标注井名、采样间隔、起始深度、曲线名列表,占日常遇到的测井log文件的80%以上
  • 二进制类.log:打开后是乱码,只能看到零星厂商标识,是老测井系统输出的专有二进制格式

第二步:分类加载处理

文本类.log处理

这类文件本质就是带头部注释的表格数据,读完转成你现有LAS流程兼容的结构就行:

  • 如果你用Python做自动化处理(日常用lasio/welly那套流程):
    数清楚头部注释一共有多少行,直接用pandas读入数据区,再对接原有逻辑即可,示例代码:
import pandas as pd
import numpy as np
# 分隔符为多空格/制表符用read_csv,固定列宽格式换pd.read_fwf
# skiprows传头部注释的行数,比如头部一共17行注释就填17
log_df = pd.read_csv(
    "target_well.log",
    sep="\s+",
    skiprows=17,
    header=None
)
# 按头部标注的曲线顺序给列命名,注意把深度列放在第一列
log_df.columns = ["DEPTH", "GR", "RT", "AC", "DEN", "CNL"]
# 替换无效值,老log文件常用-999、-9999做空值标记,统一替换成你流程里用的标准空值即可
log_df.replace(-999, np.nan, inplace=True)
# 后续可以直接把DataFrame转成LASFile对象,100%复用你之前写的所有LAS处理、分析代码
  • 如果你用商业测井软件处理(Forward、Techlog、Petrel等):
    • 导入时选择「通用文本测井数据」选项,不要选LAS格式导入
    • 按导入向导提示手动指定深度列、各曲线单位、空值标记,确认列和曲线名一一对应
    • 导入完成后直接导出为标准LAS 2.0格式,后续完全走原有LAS处理流程即可

二进制类.log处理

这类文件不要硬写代码解析,优先走转码路径:

  • 看头部的厂商、测井系统标识,找对应系统自带的解码导出工具,基本都支持直接导出标准LAS格式
  • 找不到原厂工具的情况下,再用十六进制编辑器定位深度、曲线的字节存储偏移,按固定格式解析,这种方式效率低,只适合单文件应急处理

实操避坑提醒

  • 数据读入后第一时间校验深度序列:确认采样间隔和头部标注一致、深度连续无跳变,避免因少跳了注释行导致曲线和深度错位
  • 提前核对单位:部分老测井系统输出的log文件深度用英制英尺、电阻率用线性刻度,不要直接套用你现有针对公制LAS的单位转换逻辑
  • 不要漏做空值替换:log文件没有统一的空值标准,除了-999、-9999,部分文件会用0、9999标记无效值,提前替换避免后续计算出异常值

内容的提问来源于stack exchange,提问作者Taofiq Salami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 01:03:32