Skip to main content

A zero-dependency python library for reading/parsing canadian well-log files (.Las files)

Project description

Las_py

las_py is a zero-dependency Python library for parsing .Las file (Geophysical/Canadian well log files).

Currently supports only version 2.0 of LAS Specification. For more information about this format, see the Canadian Well Logging Society web page

  • To Install

        $pip insatll las_py
    
  • Usage

        from las_py import Laspy
    
        my_las = ('path_to_las_file.las')
    
  • Read data

       data = my_las.data
       print(data)
       #[[2650.0, 177.825, -999.25, -999.25], [2650.5, 182.5, -999.25,-999.25], [2651.0,180.162, -999.25, -999.25], [2651.5, 177.825, -999.25, -999.25], [2652.0, 177.825, -999.25, -999.25] ...]
    
        # get data with rows that has null value stripped
       data = my_las.data_stripped
       print(data)
       #[[2657.5, 212.002, 0.16665, 1951.74597], [2658.0, 201.44, 0.1966, 1788.50696], [2658.5, 204.314, 0.21004, 1723.21204], [2659.0, 212.075, 0.22888, 1638.328], [2659.5, 243.536, 0.22439, 1657.91699]...]
    
  • Get the log headers

        headers = my_las.header
        print(headers)
        # ['DEPTH', 'GR', 'NPHI', 'RHOB']
    
  • Get the log headers descriptions

        hds_and_desc = my_las.header_and_descr
        print(hds_and_desc)
        # {DEPTH': 'DEPTH', 'GR': 'Gamma Ray', 'NPHI': 'Neutron Porosity','RHOB': 'Bulk density'}
    
  • Get a particular column, say Gamma Ray log

        GR = my_las.column('GR')
        print(GR)
        # [-999.25, -999.25, -999.25, -999.25, -999.25, 122.03, 123.14, ...]
    
        # get column with null values stripped
        GR = my_las.column_stripped('GR')
        print(GR)
        # [61.61, 59.99, 54.02, 50.87, 54.68, 64.39, 77.96, ...]
    

    Note this returns the column, after all the data has been stripped off their null values, which means that valid data in a particular column would be stripped off if there is another column that has a null value at that particular row

  • Get the Well Parameters

    Presents a way of accessing the details individual well parameters.

    The details include the following:

      1. descr - Description/ Full name of the well parameter
      2. units - Its unit measurements
      3. value - Value
    
      start = my_las.well.STRT.value # 1670.0
      stop = my_las.well.STOP.value #  1669.75
      null_value = my_las.well.NULL.value #  -999.25
      # Any other well parameter present in the file, canbe gotten with the same syntax above
    
  • Get the Curve Parameters

    Presents a way of accessing the details individual log columns.

    The details include the following:

      1. descr - Description/ Full name of the log column
      2. units - Unit of the log column measurements
      3. value - API value of the log column
    
      NPHI = my_las.curve.NPHI.descr # 'Neutron Porosity'
      RHOB = my_las.curve.RHOB.descr # 'Bulk density'
      # This is the same for all log column present in the file
    
  • Get the Parameters of the well

    The details include the following:

      1. descr - Description/ Full name of the log column
      2. units - Unit of the log column measurements
      3. value - API value of the log column
    
      BHT = my_las.param.BHT.descr # 'BOTTOM HOLE TEMPERATURE'
      BHT_valaue = my_las.param.BHT.value # 35.5
      BHT_units = my_las.param.BHT.units # 'DEGC'
      # This is the same for all well parameters present in the file
    
  • Get the number of rows and columns

        rows = my_las.row_counts # 4
        columns = my_las.column_counts # 3081
    
  • Get the version and wrap

        version = my_las.version # '2.0'
        wrap = my_las.wrap # 'YES'
    
  • Get other information

        other = my_las.other
        print(other)
        # Note: The logging tools became stuck at 625 metres causing the data
        # between 625 metres and 615 metres to be invalid.
    
  • Support

    las_py is an MIT-licensed open source project. You can help it grow by becoming a sponsor/supporter. Donate on Patreon

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for las-py, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size las_py-1.0.0-py3-none-any.whl (5.6 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size las_py-1.0.0.tar.gz (4.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page