Привет, так что я немного борюсь с регулярным выражением. У меня есть файл rpt, из которого мне нужно получить конкретные данные. Файл выглядит примерно так:
lots of text...
[MS]
{
;Mass % BPI
238.85 0.943
247.64 0.984
378.65 0.990
...
}
lots of text...
Я хочу получить все в фигурных скобках после появления этой строки: [MS]. Проблема в том, что в этом файле гораздо больше фигурных скобок, и они не только окружают нужные мне данные.
То, что я уже пробовал, это:
import re
file = input("Enter file path: ")
if len(file) < 1:
file = "path"
handle = open(file)
pattern = r'^([-0-9\.eE+]+)[ \t]*(;|,)?[ \t]*([-0-9\.eE+]*)$'
findings = re.findall(pattern, handle)
print(findings)
#and then making a single dict out of it with key-value pairs
Но это не такдайте мне все, что мне нужно, он возвращает некоторые значения, но не все.
В конце я хочу, чтобы числа в фигурных скобках были словарём (пример: Key: 238.85, Value: 0.943), поэтому яможет построить это потом.
примечание: пробелы между массой и столбцами BPI - это табуляция.