Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 20, 2018 17:47:31

ShuraP
Зарегистрирован: 2018-05-03
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

помощь в регулярных выражений(данные между словами)

У меня есть файл 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)

Прикреплённый файлы:
attachment J2OptimResults_PeriodicalROIData_0 nm_Telecen_OFF_X.txt (3,3 KБ)

Офлайн

#2 Июнь 21, 2018 02:56:21

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

помощь в регулярных выражений(данные между словами)

Здесь принцип разбора показан: сначала надо выделить части из общего текста; затем надо кажду часть разобрать по одному алгоритму.



Прикреплённый файлы:
attachment parsenums.tar (10,0 KБ)

Офлайн

#3 Июнь 21, 2018 08:29:03

ShuraP
Зарегистрирован: 2018-05-03
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

помощь в регулярных выражений(данные между словами)

Спасибо

сегодня 02:56:21 - рано то как

Офлайн

#4 Июнь 21, 2018 08:58:01

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

помощь в регулярных выражений(данные между словами)

ShuraP
сегодня 02:56:21 - рано то как
У меня день в это время



Офлайн

#5 Июнь 28, 2018 14:22:18

ShuraP
Зарегистрирован: 2018-05-03
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

помощь в регулярных выражений(данные между словами)

нузана опъятъ помощъ
мне тепер нызно еще и дата и время

я накропал что то но естественно ето не работает
Почему

 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)

Офлайн

#6 Июнь 28, 2018 15:51:05

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

помощь в регулярных выражений(данные между словами)

Не надо в регулярное выражение добавлять ничего. Просто сделай отдельное регулярное выражение для нахождения даты времени в определённом месте. Ориентируйся по слову Recipe.



Офлайн

#7 Июнь 28, 2018 16:04:19

ShuraP
Зарегистрирован: 2018-05-03
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

помощь в регулярных выражений(данные между словами)

я понимаю ,но у меня иногда нет данних после SUMMARY
так я получу толко толко дату

Отредактировано ShuraP (Июнь 28, 2018 16:12:10)

Офлайн

#8 Июнь 28, 2018 16:07:40

ShuraP
Зарегистрирован: 2018-05-03
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

помощь в регулярных выражений(данные между словами)

почему картинкы немогу вставитъ?

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)

Офлайн

#9 Июль 1, 2018 08:41:22

ShuraP
Зарегистрирован: 2018-05-03
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

помощь в регулярных выражений(данные между словами)


сан сей 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)  #--эта строка уже работает но как то по дикому

Офлайн

#10 Июль 1, 2018 09:30:46

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

помощь в регулярных выражений(данные между словами)

Здесь отыскивает ещё и дату-время.



Прикреплённый файлы:
attachment parsenums.tar (10,0 KБ)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version