adios_db.data_sources.exxon_assays package
Subpackages
- adios_db.data_sources.exxon_assays.v1 package
- adios_db.data_sources.exxon_assays.v2 package
- Submodules
- adios_db.data_sources.exxon_assays.v2.mapper module
ExxonMapperV2()apply_mapping()create_middle_tier_objs()find_sample()flatten_2d()generate_samples()get_cut_item()get_reference()load_densities()load_distillation_data()load_metadata()load_viscosities()normalize_samples()read_cut_table()read_general_info()read_molecules()read_whole_crude_properties()sample_id_attrs()set_all_sample_properties()set_boiling_point_range()set_sample_properties()set_sample_property()slice_record()
Submodules
adios_db.data_sources.exxon_assays.common module
- adios_db.data_sources.exxon_assays.common.get_next_properties_row(data, exp_field)
- adios_db.data_sources.exxon_assays.common.is_empty(row)
- adios_db.data_sources.exxon_assays.common.next_id()
Generate the next oil record identifier
- adios_db.data_sources.exxon_assays.common.next_non_empty(data)
- adios_db.data_sources.exxon_assays.common.norm(string)
normalizes a string for comparing
so far: lower case, whitespace strip trailing and leading comma strip
- adios_db.data_sources.exxon_assays.common.to_number(field)
Try to extract a number from a text field. Within this scope, we don’t care to try extract any unit information, just the number. Some variations on numeric data fields in the Exxon Assays: - ‘1000F+’ - ‘1000F’ - ‘650’ - ‘C5’ is not numeric
adios_db.data_sources.exxon_assays.mapper module
Exxon Mapper Base
Not really a class – it’s really a function that build up an oil object
- adios_db.data_sources.exxon_assays.mapper.ExxonMapper(record)
Accepts and Exxon record:
- tuple of:
oil name
list of lists of the spreadsheet contents
returns an Oil Object
adios_db.data_sources.exxon_assays.parser module
For the Exxon Assays, a Parser isn’t really required
so this is just a pass-through function – no need even for a class
- adios_db.data_sources.exxon_assays.parser.ExxonRecordParser(name, record)
adios_db.data_sources.exxon_assays.reader module
- class adios_db.data_sources.exxon_assays.reader.ExxonDataReader(data_index_file, data_dir=None)
Bases:
objectreads the Exxon Excel files, and returns records as simple nested data structures:
Essentially the file as a raw table
- get_records()
- static read_excel_file(filename)
The code that reads an excel file, and returns what’s in it as a nested list.
- Note: you’d think this would be a single call in openpyxl, but I
couldn’t find it
- Note: Recently, a new format for the Exxon assays has appeared, which
contains 2 sheets. For the moment, we can fail to parse the new formatted information, but reading the first sheet should not fail.