Форум сайта python.su
0
У меня есть файл txt Мне нужно данные между словами : SUMMARY и Final results
причем данные из всего файла
==================================================================================================================== ==================================================================================================================== 06/03/18 10:18:23 Recipe: J1_Tool_A500_Intel_approved Test Number: 1 Objective ID: 217G012-NG Objective Angle: 0 # Bicolor Multigrab frames: 8 # ANRA Frames: 3 # Dynamic loops: 1 Acquisition between measurements: 1 Target Location(um): (-3080,2161) Off-Center Vector(um): (0.000000,0.000000) Iter Index Filter1 Filter2 Box 1 Box 2 OVL X OVL Y(nm) Failure 1 1 500 nm 600 nm Outer Outer 4.10 -6.50 1 2 600 nm 700 nm Outer Outer 2.40 -5.00 1 3 400 nm 450 nm Outer Outer 3.50 -8.50 1 4 430 nm 500 nm Outer Outer 4.40 -6.80 1 5 450 nm 550 nm Outer Outer 4.50 -7.90 SUMMARY ======== Index Filter1 Filter2 <OVLx> <OVLy> 3sOVLx(DL) 3sOVLy(DL) 3SigX(MG) 3SigY(MG) Failures 1 500 nm 600 nm 4.10 -6.50 0.00 0.00 2.00 2.10 0 2 600 nm 700 nm 2.40 -5.00 0.00 0.00 2.70 3.20 0 3 400 nm 450 nm 3.50 -8.50 0.00 0.00 2.60 1.30 0 4 430 nm 500 nm 4.40 -6.80 0.00 0.00 4.20 3.10 0 5 450 nm 550 nm 4.50 -7.90 0.00 0.00 3.20 1.80 0 Final results ============= Max Delta<OVL>x: 8.00 3SigDelta<x>: 12.84 Total Delta<OVL>x: 12.40 Sum Delta<OVL>x: 17.70 Max Delta<OVL>y: -16.40 3SigDelta<y>: 23.74 Total Delta<OVL>y: 23.20 Sum Delta<OVL>y: -36.10 ==================================================================================================================== ==================================================================================================================== 06/03/18 10:21:44 Recipe: J1_Tool_A500_Intel_approved Test Number: 1 Objective ID: 217G012-NG Objective Angle: 0 # Bicolor Multigrab frames: 8 # ANRA Frames: 3 # Dynamic loops: 1 Acquisition between measurements: 1 Target Location(um): (-3080,2161) Off-Center Vector(um): (0.000000,0.000000) Iter Index Filter1 Filter2 Box 1 Box 2 OVL X OVL Y(nm) Failure 1 1 500 nm 600 nm Outer Outer 3.00 -5.80 1 2 600 nm 700 nm Outer Outer 1.60 -4.00 1 3 400 nm 450 nm Outer Outer 3.30 -7.20 1 4 430 nm 500 nm Outer Outer 3.20 -5.90 1 5 450 nm 550 nm Outer Outer 3.90 -6.30 SUMMARY ======== Index Filter1 Filter2 <OVLx> <OVLy> 3sOVLx(DL) 3sOVLy(DL) 3SigX(MG) 3SigY(MG) Failures 1 500 nm 600 nm 3.00 -5.80 0.00 0.00 1.50 1.60 0 2 600 nm 700 nm 1.60 -4.00 0.00 0.00 2.50 2.30 0 3 400 nm 450 nm 3.30 -7.20 0.00 0.00 2.70 3.10 0 4 430 nm 500 nm 3.20 -5.90 0.00 0.00 3.40 2.50 0 5 450 nm 550 nm 3.90 -6.30 0.00 0.00 2.70 3.20 0 Final results =============
Отредактировано ShuraP (Июнь 20, 2018 17:48:14)
Прикреплённый файлы:
J2OptimResults_PeriodicalROIData_0 nm_Telecen_OFF_X.txt (3,3 KБ)
Офлайн
857
Здесь принцип разбора показан: сначала надо выделить части из общего текста; затем надо кажду часть разобрать по одному алгоритму.
Прикреплённый файлы:
parsenums.tar (10,0 KБ)
Офлайн
0
Спасибо
сегодня 02:56:21 - рано то как
Офлайн
857
ShuraPУ меня день в это время
сегодня 02:56:21 - рано то как
Офлайн
0
нузана опъятъ помощъ
мне тепер нызно еще и дата и время
я накропал что то но естественно ето не работает
Почему
blocks = re.findall(r'(\d{2}/\d{2}/\d{2,4})\s\s(\d{2}:\d{2}:\d{2,4})\s\s(SUMMARY\n=+\n(.*?)\nFinal results)', data, re.DOTALL)
(\d{2}/\d{2}/\d{2,4})
(\d{2}:\d{2}:\d{2,4})
(SUMMARY\n=+\n(.*?)\nFinal results)
Отредактировано ShuraP (Июнь 28, 2018 14:24:00)
Офлайн
857
Не надо в регулярное выражение добавлять ничего. Просто сделай отдельное регулярное выражение для нахождения даты времени в определённом месте. Ориентируйся по слову Recipe.
Офлайн
0
я понимаю ,но у меня иногда нет данних после SUMMARY
так я получу толко толко дату
Отредактировано ShuraP (Июнь 28, 2018 16:12:10)
Офлайн
0
почему картинкы немогу вставитъ?
blocks = re.findall(r'SUMMARY\n=+\n(.*?)\nFinal results', data, re.DOTALL)
blocksData = re.findall(r'(\d{2}/\d{2}/\d{2,4})\s\s(\d{2}:\d{2}:\d{2,4})', data, re.DOTALL)
Отредактировано ShuraP (Июнь 28, 2018 16:34:00)
Офлайн
0
сан сей py.user.next
помоги
blocks = re.findall(r'SUMMARY\n=+\n(.*?)\nFinal results', data, re.DOTALL) blocksData = re.findall(r'(\d{2}/\d{2}/\d{2,4})\s\s(\d{2}:\d{2}:\d{2,4})', data, re.DOTALL) blocks_blocksData = re.findall(r'\d{2}/\d{2}/\d{2,4})\s\s(\d{2}:\d{2}:\d{2,4}|SUMMARY\n=+\n(.*?)\nFinal results', data, re.DOTALL) #--эта строка уже работает но как то по дикому
Офлайн
857
Офлайн