내 파일의 구조가 달라질 수 있으며이 정규 표현식이 내 변경 사항으로 인해 가끔씩 만 작동한다는 것을 발견했습니다. 내 정규식은
v6 = re.findall(r'(?s)----------\s*LOW VOLTAGE SUMMARY BY AREA.*?\rACTIVITY.+?',wholefile)
다른 상황에서 정규 표현식을 수정해야합니다.
입니다. 현재이 파일의 다음 섹션과 일치합니다.
---------- LOW VOLTAGE SUMMARY BY AREA ----------
BUS NAME BASKV VOLT TIME AREA ZONE
12006 [AMISTAD 69.0] 0.971 1.8700 10 NEW MEXICO 121
11223 [WHITESA213.8] 0.918 1.9900 11 EL PASO 110
70044 [B.HYDROB4.16] 0.955 2.3233 70 PSCOLORADO 703
70044 [B.HYDROB4.16] 0.955 2.3233 70 PSCOLORADO 703
79086 [PAGOSA 115] 0.937 2.0333 73 WAPA R.M. 791
내 정규식은 어떻게 반환 할 수 있습니다 : 파일의 해당 섹션 때로는 두 차례에
---------- LOW VOLTAGE SUMMARY BY AREA ----------
BUS NAME BASKV VOLT TIME AREA ZONE
12006 [AMISTAD 69.0] 0.742 13.2060 10 NEW MEXICO 121
11223 [WHITESA213.8] 0.916 1.8367 11 EL PASO 110
70187 [FTGARLND69.0] 0.936 19.6099 70 PSCOLORADO 710
73216 [WINDRIVR 115] 0.858 3.6100 73 WAPA R.M. 750
(VFSCAN) AT TIME = 20.0000 UP TO 100 BUSES WITH LOW FREQUENCY BELOW 59.600:
X ----- BUS ------ X FREQ X ----- BUS ------ X FREQ
12063 [ROSEBUD 13.8] 59.506
다음과 같습니다 그러나
---------- LOW VOLTAGE SUMMARY BY AREA ----------
BUS NAME BASKV VOLT TIME AREA ZONE
12006 [AMISTAD 69.0] 0.971 1.8700 10 NEW MEXICO 121
11223 [WHITESA213.8] 0.918 1.9900 11 EL PASO 110
70044 [B.HYDROB4.16] 0.955 2.3233 70 PSCOLORADO 703
70044 [B.HYDROB4.16] 0.955 2.3233 70 PSCOLORADO 703
79086 [PAGOSA 115] 0.937 2.0333 73 WAPA R.M. 791
ACTIVITY?
PDEV
ENTER OUTPUT DEVICE CODE:
0 FOR NO OUTPUT
1 FOR PROGRESS WINDOW
나는 아래의 단지 부분은 캡처 싶습니다 내가 찾고있는 파일의 버전에 상관없이 위의 섹션?
감사합니다. 나는 이것을 시도하고 알릴 것이다. – user1642486
나는 이것을 시도하고있다. 그러나 나는 나의 원래 정규식이 내가 원하는 것보다 더 많이주고있는 것으로 보인다. 그러나 나는 지금까지 그것을 알아 차리지 못했다. 이전에 파일의 끝 부분에있는 모든 것을 잡는 것이 었습니다.이 파일은 파일 끝에 도달했기 때문에 작동하지 않는다는 것을 알지 못했습니다. 내가 뭘 잘못하고 있는지 말해 줄 수 있니? – user1642486
아마도 문제는 마지막 부분 인 것 같습니다 :'. +?'파일의 끝 부분과 일치합니다. 시도해 볼 수 있습니다 :'v6 = re.findall (r '(? s) ---------- \ s * 영역 별 저전압 요약 *? \ r (ACTIVITY | \ (VFSCAN \)) . *? [:?] ', 전체 파일)' – rbernabe