我是一名科学家,试图用Python来解析我的研究数据。在将数据转换为pandas数据帧之前,我使用 re 模块进行了一些处理。
到目前为止,我能够通过此代码实现我想要的目标:
with open("nq1a.dd2", "r") as dd2_all_input_lines:
for dd2_line in dd2_all_input_lines:
if "alternative" in dd2_line:
break
else:
dd2_valid_lines = dd2_line # It stops before the string "alternative" is found, that is what I want.
但是我想问一下是否有办法告诉重新在字符串之前获取所有行"替代"找到而不是像我一样使用 IF 。
VALID LIVES
....
VALID LINES
<keyword here> (Stop here!)
INVALID LINES
....
INVALID LINES
非常感谢你。
示例数据
s 91 1.00 OUT 9 3 12 7 OCCC 0.34 f829 27 f752 33
-1.00 10 6 11 8 OCCC 0.74
s 92 1.00 OUT 13 8 12 11 ClCCC 1.98 f284 55 f172 13
s 93 1.00 OUT 30 19 20 16 OCCC 0.17 f864 14 f746 11 f535 17 f517 11
s 94 1.00 OUT 7 6 1 3 CCCC 0.48 f829 10 f172 41
-1.00 8 3 2 6 CCCC 1.09
s 95 1.00 OUT 17 14 18 15 CNCC 3.64 f564 16 f535 15 f396 10
s 96 1.00 OUT 10 6 11 8 OCCC 0.74 f822 63
-1.00 8 2 3 6 CCCC 1.09
1.00 9 3 12 7 OCCC 0.34
****
33 STRE modes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33
32 BEND modes:
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
54 55 56 57 58 59 60 61 62 63 64 65
31 TORS modes:
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
86 87 88 89 90 91 92 93 94 95 96
33 CH modes:
2 3 4 5 6 7 8 9 10 11 12 38 39 40 41 42 43 44 45 46
47 48 67 68 69 70 71 72 73 74 75 76 77
0 USER modes:
alternative coordinates 118
k 34 1.00 STRE 20 16 CC 1.396055
k 35 1.00 STRE 6 3 CC 1.394020
k 36 1.00 STRE 7 12 CC 1.518475
v 36 1.00 BEND 7 3 6 CCC 119.99
k 37 1.00 BEND 21 14 12 HNC 111.99
k 38 1.00 BEND 22 1 3 HCC 119.07
k 39 1.00 BEND 25 2 5 HCC 121.23
k 40 1.00 BEND 23 4 5 HCC 120.11
k 41 1.00 BEND 24 5 4 HCC 119.93
k 42 1.00 BEND 28 17 15 HCC 119.54
k 43 1.00 BEND 27 18 15 HCC 119.88
k 44 1.00 BEND 26 19 16 HCC 121.15
k 45 1.00 BEND 29 20 16 HCC 118.64
k 46 1.00 BEND 32 31 30 HCO 111.30
k 47 1.00 BEND 33 31 30 HCO 111.27
k 48 1.00 BEND 34 31 32 HCH 109.33
k 49 1.00 BEND 9 7 3 OCC 122.75
k 50 1.00 BEND 10 8 6 OCC 120.23
k 51 1.00 BEND 7 12 11 CCC 118.96
k 55 1.00 BEND 6 3 1 CCC 120.39
k 58 1.00 BEND 20 16 19 CCC 119.50
k 59 1.00 BEND 17 15 14 CCN 118.88
k 60 1.00 BEND 30 16 19 OCC 124.53
k 63 1.00 BEND 8 6 3 CCC 121.15
k 65 1.00 BEND 13 11 12 ClCC 121.99
k 66 1.00 TORS 21 14 15 18 HNCC -240.27
k 66 1.00 TORS 21 14 12 7 HNCC -5.99
k 66 1.00 OUT 14 12 15 21 NCCH 5.36
k 67 1.00 TORS 22 1 3 6 HCCC -179.92
k 67 1.00 TORS 22 1 4 23 HCCH 0.05
k 67 1.00 OUT 1 3 4 22 CCCH 0.09
k 68 1.00 TORS 25 2 5 4 HCCC -179.54
k 68 1.00 TORS 25 2 6 8 HCCC 0.99
k 68 1.00 OUT 2 5 6 25 CCCH 0.08
k 69 1.00 TORS 23 4 5 2 HCCC -180.07
k 69 1.00 OUT 4 5 1 23 CCCH 0.02
k 70 1.00 TORS 24 5 4 23 HCCH 0.07
k 70 1.00 TORS 24 5 4 1 HCCC -180.00
k 70 1.00 OUT 5 4 2 24 CCCH 0.05
k 71 1.00 TORS 28 17 15 14 HCCN -3.77
k 71 1.00 TORS 28 17 15 18 HCCC -179.70
k 71 1.00 OUT 17 15 20 28 CCCH 0.12
k 72 1.00 TORS 27 18 15 14 HCCN 2.71
k 72 1.00 TORS 27 18 19 26 HCCH 0.54
k 72 1.00 OUT 18 15 19 27 CCCH 0.03
k 73 1.00 TORS 26 19 16 30 HCCO 0.41
k 73 1.00 TORS 26 19 16 20 HCCC -179.39
k 73 1.00 OUT 19 16 18 26 CCCH 0.21
k 74 1.00 TORS 29 20 17 28 HCCH 0.25
k 74 1.00 TORS 29 20 16 19 HCCC -180.23
k 74 1.00 OUT 20 16 17 29 CCCH 0.16
k 75 1.00 OUT 31 34 33 32 CHHH 19.50
k 75 1.00 OUT 31 32 33 34 CHHH 19.61
k 75 1.00 OUT 31 34 32 33 CHHH 19.50
k 76 1.00 OUT 31 32 30 33 CHOH 19.77
k 76 1.00 OUT 31 33 30 32 CHOH 19.77
k 76 1.00 OUT 31 32 33 30 CHHO 15.09
k 77 1.00 OUT 31 32 30 34 CHOH 21.84
k 77 1.00 OUT 31 33 30 34 CHOH 21.84
k 78 1.00 TORS 7 12 11 8 CCCC -6.67
k 79 1.00 TORS 16 20 17 15 CCCC 0.37
k 79 1.00 TORS 20 17 15 18 CCCC 0.66
k 79 1.00 TORS 17 20 16 19 CCCC -0.70
k 80 1.00 TORS 2 6 3 1 CCCC -0.24
k 82 1.00 TORS 6 3 1 4 CCCC 0.33
k 82 1.00 TORS 3 7 12 11 CCCC 6.53
k 83 1.00 TORS 3 6 2 5 CCCC -0.04
k 86 1.00 TORS 20 16 19 18 CCCC -0.01
k 87 1.00 TORS 11 8 6 2 CCCC -179.10
k 89 1.00 TORS 31 30 16 20 COCC -179.96
k 90 1.00 OUT 8 6 11 10 CCCO 0.28
k 90 1.00 TORS 10 8 11 12 OCCC -178.42
k 90 1.00 TORS 10 8 11 13 OCCCl 3.77
k 91 1.00 OUT 7 3 12 9 CCCO 0.13
k 91 1.00 TORS 9 7 12 11 OCCC -173.85
k 91 1.00 TORS 9 7 12 14 OCCN 3.26
k 92 1.00 OUT 11 8 12 13 CCCCl 0.55
k 92 1.00 TORS 13 11 12 7 ClCCC -189.01
k 92 1.00 TORS 13 11 12 14 ClCCN -5.50
k 93 1.00 OUT 16 19 20 30 CCCO 0.06
k 93 1.00 TORS 30 16 19 18 OCCC -180.21
k 93 1.00 TORS 30 16 20 17 OCCC -180.51
k 94 1.00 OUT 3 6 1 7 CCCC 0.15
k 94 1.00 TORS 7 3 6 8 CCCC -2.07
k 94 1.00 TORS 7 3 1 4 CCCC -179.12
k 95 1.00 OUT 15 14 18 17 CNCC 1.20
k 95 1.00 TORS 17 15 18 19 CCCC -1.37
k 95 1.00 TORS 17 15 14 12 CCNC -219.68
k 96 1.00 OUT 6 3 2 8 CCCC 0.35
k 96 1.00 TORS 8 6 2 5 CCCC -178.79
k 96 1.00 TORS 8 6 3 1 CCCC -181.52
v 9 1.00 STRE 20 16 CC 1.396055
v 15 1.00 STRE 7 12 CC 1.518475
v 20 1.00 STRE 6 3 CC 1.394020
v 22 1.00 STRE 6 3 CC 1.394020
v 25 1.00 STRE 20 16 CC 1.396055
v 29 1.00 STRE 7 12 CC 1.518475
v 34 1.00 BEND 16 20 17 CCC 120.33
v 35 1.00 BEND 3 6 2 CCC 119.61
v 36 1.00 BEND 12 7 3 CCC 118.82
v 82 1.00 TORS 1 3 6 2 CCCC -0.24
v 84 1.00 TORS 19 16 20 17 CCCC -0.70
v 87 1.00 TORS 11 12 7 3 CCCC 6.53
s 27 1.00 STRE 30 16 OC 1.355049
s 24 1.00 STRE 14 12 NC 1.344852
s 57 1.00 BEND 14 12 11 NCC 129.85
s 62 1.00 BEND 15 14 12 CNC 130.10
s 59 1.00 BEND 17 15 18 CCC 119.42
s 54 1.00 BEND 18 15 14 CCN 121.57