IMO вам не нужно re
для этой задачи. Вы можете перебирать строки вашего файла и, в зависимости от сигнальных строк, таких как '(at '
и 'fp_text reference'
, вы можете заполнять список списков всех ваших данных резистора, например ::
with open('textfile.txt') as f:
data = []
row = []
for line in f:
if row:
if '(fp_text ref' in line.strip():
row.append(line.strip().split()[2])
data.append(row)
row = []
else:
if '(at ' in line.strip():
row = line.strip()[:-1].split()[1:4]
print(data)
# [['120.316179', '97.92138', '90', 'R59']]
И если вы хотите, чтобы данные pandas из этих данных:
import pandas as pd
df = pd.DataFrame(data, columns=['x', 'y', 'z', 'R'])
print(df)
# x y z R
# 0 120.316179 97.92138 90 R59