Вы можете использовать re.split
для разделения ваших данных
for line in lines:
print(re.split('[\s]{2,}', line.strip()))
выводов
...
['HHR HZ KARR 16-13-64-3', '0497452', 'ALBERTA CROWN', '861.9M']
['100/16-13-064-03W6/00', 'S', '481.4M', 'W', '421.6M', 'GRANDE PRAIRIE', '5967.0M']
['DEV (C)', 'KARR', 'MONTNEY FM']
['HORIZONTAL', 'NEW', 'PRODUCTION', 'CRUDE OIL']
['HAMMERHEAD RESOURCES INC.', '10-15-064-03W6']
...
В зависимости от того, какие данные вы хотите извлечь, вы можете захотеть отфильтровать некоторые строки с некоторыми операторами if и такими.
объяснение регулярного выражения
[\ s] {2,}
{2,}
Квантор - Соответствует от 2 до неограниченного количества раз, столько раз, сколько возможно, возвращая при необходимости (жадный)
\s
соответствует любому символу пробела (равному [\r\n\t\f\v ]
)
Редактировать на основе вашего комментария. Если вы знаете позиции своего текста, вы можете сделать что-то похожее на это. Однако вам потребуется внести некоторые изменения / применить некоторые логи c, чтобы правильно захватить ваши данные
for line in lines:
positions = [4, 41, 51, 72]
for pos in positions:
print(re.split('[\s]{2,}', line[pos:].strip())[0])