Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python编辑文件的特定列_Python - Fatal编程技术网

如何使用python编辑文件的特定列

如何使用python编辑文件的特定列,python,Python,我有多个输入文件,如下所示。我需要通过删除atom名称末尾的数字来编辑“atom”列(第5列)。我不知道如何完成我的代码。我怎么做 代码: with open('input.txt', mode='r') as f: for lines in f: columns = lines.split() [ atomtypes ] ;name bond_type mass charge ptype sigma epsi

我有多个输入文件,如下所示。我需要通过删除atom名称末尾的数字来编辑“atom”列(第5列)。我不知道如何完成我的代码。我怎么做

代码:

with open('input.txt', mode='r') as f:
        for lines in f:
            columns = lines.split()
[ atomtypes ]
;name   bond_type     mass     charge   ptype   sigma         epsilon       Amb
 br       br          0.00000  0.00000   A     3.59923e-01   1.75728e+00 ; 2.02  0.4200
 cl       cl          0.00000  0.00000   A     3.47094e-01   1.10876e+00 ; 1.95  0.2650
 s        s           0.00000  0.00000   A     3.56359e-01   1.04600e+00 ; 2.00  0.2500
 p5       p5          0.00000  0.00000   A     3.74177e-01   8.36800e-01 ; 2.10  0.2000
 os       os          0.00000  0.00000   A     3.00001e-01   7.11280e-01 ; 1.68  0.1700
 ca       ca          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860
 c3       c3          0.00000  0.00000   A     3.39967e-01   4.57730e-01 ; 1.91  0.1094
 ha       ha          0.00000  0.00000   A     2.59964e-01   6.27600e-02 ; 1.46  0.0150
 h1       h1          0.00000  0.00000   A     2.47135e-01   6.56888e-02 ; 1.39  0.0157

[ moleculetype ]
;name            nrexcl
 LIG              3

[ atoms ]
;   nr  type  resi  res  atom  cgnr     charge      mass       ; qtot   bond_type
     1   br     1   LIG   BR1    1    -0.040100     79.90000 ; qtot -0.040
     2   cl     1   LIG   CL1    2    -0.040400     35.45000 ; qtot -0.081
     3   cl     1   LIG   CL2    3    -0.046400     35.45000 ; qtot -0.127
     4    s     1   LIG    S1    4    -0.576001     32.06000 ; qtot -0.703
     5   p5     1   LIG    P1    5     1.207199     30.97000 ; qtot 0.504
     6   os     1   LIG    O1    6    -0.442500     16.00000 ; qtot 0.062
     7   os     1   LIG    O2    7    -0.517201     16.00000 ; qtot -0.455
     8   os     1   LIG    O3    8    -0.517201     16.00000 ; qtot -0.973
     9   ca     1   LIG    C1    9     0.143100     12.01000 ; qtot -0.830
    10   ca     1   LIG    C2   10     0.012400     12.01000 ; qtot -0.817
    11   ca     1   LIG    C3   11    -0.127000     12.01000 ; qtot -0.944
    12   ca     1   LIG    C4   12     0.045400     12.01000 ; qtot -0.899
    13   ca     1   LIG    C5   13    -0.082000     12.01000 ; qtot -0.981
    14   ca     1   LIG    C6   14    -0.019900     12.01000 ; qtot -1.001
    15   c3     1   LIG    C7   15     0.125200     12.01000 ; qtot -0.875
    16   c3     1   LIG    C8   16     0.125200     12.01000 ; qtot -0.750
    17   ha     1   LIG    H1   17     0.178000      1.00800 ; qtot -0.572
    18   ha     1   LIG    H2   18     0.174000      1.00800 ; qtot -0.398
    19   h1     1   LIG    H3   19     0.066367      1.00800 ; qtot -0.332
    20   h1     1   LIG    H4   20     0.066367      1.00800 ; qtot -0.265
    21   h1     1   LIG    H5   21     0.066367      1.00800 ; qtot -0.199
    22   h1     1   LIG    H6   22     0.066367      1.00800 ; qtot -0.133
    23   h1     1   LIG    H7   23     0.066367      1.00800 ; qtot -0.066
    24   h1     1   LIG    H8   24     0.066367      1.00800 ; qtot -0.000

[ bonds ]
;   ai     aj funct   r             k
     1     14   1    1.8970e-01    2.2560e+05 ;    BR1 - C6    
     2     10   1    1.7290e-01    2.7012e+05 ;    CL1 - C2    
     3     12   1    1.7290e-01    2.7012e+05 ;    CL2 - C4    
     4      5   1    1.9220e-01    2.0987e+05 ;     S1 - P1    
     5      6   1    1.6020e-01    2.8660e+05 ;     P1 - O1    
     5      7   1    1.6020e-01    2.8660e+05 ;     P1 - O2    
     5      8   1    1.6020e-01    2.8660e+05 ;     P1 - O3    
     6      9   1    1.3730e-01    3.1162e+05 ;     O1 - C1    
     7     15   1    1.4390e-01    2.5230e+05 ;     O2 - C7    
     8     16   1    1.4390e-01    2.5230e+05 ;     O3 - C8    
     9     10   1    1.3870e-01    4.0033e+05 ;     C1 - C2    
     9     11   1    1.3870e-01    4.0033e+05 ;     C1 - C3    
    10     13   1    1.3870e-01    4.0033e+05 ;     C2 - C5    
    11     12   1    1.3870e-01    4.0033e+05 ;     C3 - C4    
    11     17   1    1.0870e-01    2.8811e+05 ;     C3 - H1    
    12     14   1    1.3870e-01    4.0033e+05 ;     C4 - C6    
    13     14   1    1.3870e-01    4.0033e+05 ;     C5 - C6    
    13     18   1    1.0870e-01    2.8811e+05 ;     C5 - H2    
    15     19   1    1.0930e-01    2.8108e+05 ;     C7 - H3    
    15     20   1    1.0930e-01    2.8108e+05 ;     C7 - H4    
    15     21   1    1.0930e-01    2.8108e+05 ;     C7 - H5    
    16     22   1    1.0930e-01    2.8108e+05 ;     C8 - H6    
    16     23   1    1.0930e-01    2.8108e+05 ;     C8 - H7    
    16     24   1    1.0930e-01    2.8108e+05 ;     C8 - H8
[ atomtypes ]
;name   bond_type     mass     charge   ptype   sigma         epsilon       Amb
 br       br          0.00000  0.00000   A     3.59923e-01   1.75728e+00 ; 2.02  0.4200
 cl       cl          0.00000  0.00000   A     3.47094e-01   1.10876e+00 ; 1.95  0.2650
 s        s           0.00000  0.00000   A     3.56359e-01   1.04600e+00 ; 2.00  0.2500
 p5       p5          0.00000  0.00000   A     3.74177e-01   8.36800e-01 ; 2.10  0.2000
 os       os          0.00000  0.00000   A     3.00001e-01   7.11280e-01 ; 1.68  0.1700
 ca       ca          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860
 c3       c3          0.00000  0.00000   A     3.39967e-01   4.57730e-01 ; 1.91  0.1094
 ha       ha          0.00000  0.00000   A     2.59964e-01   6.27600e-02 ; 1.46  0.0150
 h1       h1          0.00000  0.00000   A     2.47135e-01   6.56888e-02 ; 1.39  0.0157

[ moleculetype ]
;name            nrexcl
 LIG              3

[ atoms ]
;   nr  type  resi  res  atom  cgnr     charge      mass       ; qtot   bond_type
     1   br     1   LIG   BR    1    -0.040100     79.90000 ; qtot -0.040
     2   cl     1   LIG   CL    2    -0.040400     35.45000 ; qtot -0.081
     3   cl     1   LIG   CL    3    -0.046400     35.45000 ; qtot -0.127
     4    s     1   LIG    S    4    -0.576001     32.06000 ; qtot -0.703
     5   p5     1   LIG    P    5     1.207199     30.97000 ; qtot 0.504
     6   os     1   LIG    O    6    -0.442500     16.00000 ; qtot 0.062
     7   os     1   LIG    O    7    -0.517201     16.00000 ; qtot -0.455
     8   os     1   LIG    O    8    -0.517201     16.00000 ; qtot -0.973
     9   ca     1   LIG    C    9     0.143100     12.01000 ; qtot -0.830
    10   ca     1   LIG    C   10     0.012400     12.01000 ; qtot -0.817
    11   ca     1   LIG    C   11    -0.127000     12.01000 ; qtot -0.944
    12   ca     1   LIG    C   12     0.045400     12.01000 ; qtot -0.899
    13   ca     1   LIG    C   13    -0.082000     12.01000 ; qtot -0.981
    14   ca     1   LIG    C   14    -0.019900     12.01000 ; qtot -1.001
    15   c3     1   LIG    C   15     0.125200     12.01000 ; qtot -0.875
    16   c3     1   LIG    C   16     0.125200     12.01000 ; qtot -0.750
    17   ha     1   LIG    H   17     0.178000      1.00800 ; qtot -0.572
    18   ha     1   LIG    H   18     0.174000      1.00800 ; qtot -0.398
    19   h1     1   LIG    H   19     0.066367      1.00800 ; qtot -0.332
    20   h1     1   LIG    H   20     0.066367      1.00800 ; qtot -0.265
    21   h1     1   LIG    H   21     0.066367      1.00800 ; qtot -0.199
    22   h1     1   LIG    H   22     0.066367      1.00800 ; qtot -0.133
    23   h1     1   LIG    H   23     0.066367      1.00800 ; qtot -0.066
    24   h1     1   LIG    H   24     0.066367      1.00800 ; qtot -0.000

[ bonds ]
;   ai     aj funct   r             k
     1     14   1    1.8970e-01    2.2560e+05 ;    BR1 - C6    
     2     10   1    1.7290e-01    2.7012e+05 ;    CL1 - C2    
     3     12   1    1.7290e-01    2.7012e+05 ;    CL2 - C4    
     4      5   1    1.9220e-01    2.0987e+05 ;     S1 - P1    
     5      6   1    1.6020e-01    2.8660e+05 ;     P1 - O1    
     5      7   1    1.6020e-01    2.8660e+05 ;     P1 - O2    
     5      8   1    1.6020e-01    2.8660e+05 ;     P1 - O3    
     6      9   1    1.3730e-01    3.1162e+05 ;     O1 - C1    
     7     15   1    1.4390e-01    2.5230e+05 ;     O2 - C7    
     8     16   1    1.4390e-01    2.5230e+05 ;     O3 - C8    
     9     10   1    1.3870e-01    4.0033e+05 ;     C1 - C2    
     9     11   1    1.3870e-01    4.0033e+05 ;     C1 - C3    
    10     13   1    1.3870e-01    4.0033e+05 ;     C2 - C5    
    11     12   1    1.3870e-01    4.0033e+05 ;     C3 - C4    
    11     17   1    1.0870e-01    2.8811e+05 ;     C3 - H1    
    12     14   1    1.3870e-01    4.0033e+05 ;     C4 - C6    
    13     14   1    1.3870e-01    4.0033e+05 ;     C5 - C6    
    13     18   1    1.0870e-01    2.8811e+05 ;     C5 - H2    
    15     19   1    1.0930e-01    2.8108e+05 ;     C7 - H3    
    15     20   1    1.0930e-01    2.8108e+05 ;     C7 - H4    
    15     21   1    1.0930e-01    2.8108e+05 ;     C7 - H5    
    16     22   1    1.0930e-01    2.8108e+05 ;     C8 - H6    
    16     23   1    1.0930e-01    2.8108e+05 ;     C8 - H7    
    16     24   1    1.0930e-01    2.8108e+05 ;     C8 - H8
输入文件:

with open('input.txt', mode='r') as f:
        for lines in f:
            columns = lines.split()
[ atomtypes ]
;name   bond_type     mass     charge   ptype   sigma         epsilon       Amb
 br       br          0.00000  0.00000   A     3.59923e-01   1.75728e+00 ; 2.02  0.4200
 cl       cl          0.00000  0.00000   A     3.47094e-01   1.10876e+00 ; 1.95  0.2650
 s        s           0.00000  0.00000   A     3.56359e-01   1.04600e+00 ; 2.00  0.2500
 p5       p5          0.00000  0.00000   A     3.74177e-01   8.36800e-01 ; 2.10  0.2000
 os       os          0.00000  0.00000   A     3.00001e-01   7.11280e-01 ; 1.68  0.1700
 ca       ca          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860
 c3       c3          0.00000  0.00000   A     3.39967e-01   4.57730e-01 ; 1.91  0.1094
 ha       ha          0.00000  0.00000   A     2.59964e-01   6.27600e-02 ; 1.46  0.0150
 h1       h1          0.00000  0.00000   A     2.47135e-01   6.56888e-02 ; 1.39  0.0157

[ moleculetype ]
;name            nrexcl
 LIG              3

[ atoms ]
;   nr  type  resi  res  atom  cgnr     charge      mass       ; qtot   bond_type
     1   br     1   LIG   BR1    1    -0.040100     79.90000 ; qtot -0.040
     2   cl     1   LIG   CL1    2    -0.040400     35.45000 ; qtot -0.081
     3   cl     1   LIG   CL2    3    -0.046400     35.45000 ; qtot -0.127
     4    s     1   LIG    S1    4    -0.576001     32.06000 ; qtot -0.703
     5   p5     1   LIG    P1    5     1.207199     30.97000 ; qtot 0.504
     6   os     1   LIG    O1    6    -0.442500     16.00000 ; qtot 0.062
     7   os     1   LIG    O2    7    -0.517201     16.00000 ; qtot -0.455
     8   os     1   LIG    O3    8    -0.517201     16.00000 ; qtot -0.973
     9   ca     1   LIG    C1    9     0.143100     12.01000 ; qtot -0.830
    10   ca     1   LIG    C2   10     0.012400     12.01000 ; qtot -0.817
    11   ca     1   LIG    C3   11    -0.127000     12.01000 ; qtot -0.944
    12   ca     1   LIG    C4   12     0.045400     12.01000 ; qtot -0.899
    13   ca     1   LIG    C5   13    -0.082000     12.01000 ; qtot -0.981
    14   ca     1   LIG    C6   14    -0.019900     12.01000 ; qtot -1.001
    15   c3     1   LIG    C7   15     0.125200     12.01000 ; qtot -0.875
    16   c3     1   LIG    C8   16     0.125200     12.01000 ; qtot -0.750
    17   ha     1   LIG    H1   17     0.178000      1.00800 ; qtot -0.572
    18   ha     1   LIG    H2   18     0.174000      1.00800 ; qtot -0.398
    19   h1     1   LIG    H3   19     0.066367      1.00800 ; qtot -0.332
    20   h1     1   LIG    H4   20     0.066367      1.00800 ; qtot -0.265
    21   h1     1   LIG    H5   21     0.066367      1.00800 ; qtot -0.199
    22   h1     1   LIG    H6   22     0.066367      1.00800 ; qtot -0.133
    23   h1     1   LIG    H7   23     0.066367      1.00800 ; qtot -0.066
    24   h1     1   LIG    H8   24     0.066367      1.00800 ; qtot -0.000

[ bonds ]
;   ai     aj funct   r             k
     1     14   1    1.8970e-01    2.2560e+05 ;    BR1 - C6    
     2     10   1    1.7290e-01    2.7012e+05 ;    CL1 - C2    
     3     12   1    1.7290e-01    2.7012e+05 ;    CL2 - C4    
     4      5   1    1.9220e-01    2.0987e+05 ;     S1 - P1    
     5      6   1    1.6020e-01    2.8660e+05 ;     P1 - O1    
     5      7   1    1.6020e-01    2.8660e+05 ;     P1 - O2    
     5      8   1    1.6020e-01    2.8660e+05 ;     P1 - O3    
     6      9   1    1.3730e-01    3.1162e+05 ;     O1 - C1    
     7     15   1    1.4390e-01    2.5230e+05 ;     O2 - C7    
     8     16   1    1.4390e-01    2.5230e+05 ;     O3 - C8    
     9     10   1    1.3870e-01    4.0033e+05 ;     C1 - C2    
     9     11   1    1.3870e-01    4.0033e+05 ;     C1 - C3    
    10     13   1    1.3870e-01    4.0033e+05 ;     C2 - C5    
    11     12   1    1.3870e-01    4.0033e+05 ;     C3 - C4    
    11     17   1    1.0870e-01    2.8811e+05 ;     C3 - H1    
    12     14   1    1.3870e-01    4.0033e+05 ;     C4 - C6    
    13     14   1    1.3870e-01    4.0033e+05 ;     C5 - C6    
    13     18   1    1.0870e-01    2.8811e+05 ;     C5 - H2    
    15     19   1    1.0930e-01    2.8108e+05 ;     C7 - H3    
    15     20   1    1.0930e-01    2.8108e+05 ;     C7 - H4    
    15     21   1    1.0930e-01    2.8108e+05 ;     C7 - H5    
    16     22   1    1.0930e-01    2.8108e+05 ;     C8 - H6    
    16     23   1    1.0930e-01    2.8108e+05 ;     C8 - H7    
    16     24   1    1.0930e-01    2.8108e+05 ;     C8 - H8
[ atomtypes ]
;name   bond_type     mass     charge   ptype   sigma         epsilon       Amb
 br       br          0.00000  0.00000   A     3.59923e-01   1.75728e+00 ; 2.02  0.4200
 cl       cl          0.00000  0.00000   A     3.47094e-01   1.10876e+00 ; 1.95  0.2650
 s        s           0.00000  0.00000   A     3.56359e-01   1.04600e+00 ; 2.00  0.2500
 p5       p5          0.00000  0.00000   A     3.74177e-01   8.36800e-01 ; 2.10  0.2000
 os       os          0.00000  0.00000   A     3.00001e-01   7.11280e-01 ; 1.68  0.1700
 ca       ca          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860
 c3       c3          0.00000  0.00000   A     3.39967e-01   4.57730e-01 ; 1.91  0.1094
 ha       ha          0.00000  0.00000   A     2.59964e-01   6.27600e-02 ; 1.46  0.0150
 h1       h1          0.00000  0.00000   A     2.47135e-01   6.56888e-02 ; 1.39  0.0157

[ moleculetype ]
;name            nrexcl
 LIG              3

[ atoms ]
;   nr  type  resi  res  atom  cgnr     charge      mass       ; qtot   bond_type
     1   br     1   LIG   BR    1    -0.040100     79.90000 ; qtot -0.040
     2   cl     1   LIG   CL    2    -0.040400     35.45000 ; qtot -0.081
     3   cl     1   LIG   CL    3    -0.046400     35.45000 ; qtot -0.127
     4    s     1   LIG    S    4    -0.576001     32.06000 ; qtot -0.703
     5   p5     1   LIG    P    5     1.207199     30.97000 ; qtot 0.504
     6   os     1   LIG    O    6    -0.442500     16.00000 ; qtot 0.062
     7   os     1   LIG    O    7    -0.517201     16.00000 ; qtot -0.455
     8   os     1   LIG    O    8    -0.517201     16.00000 ; qtot -0.973
     9   ca     1   LIG    C    9     0.143100     12.01000 ; qtot -0.830
    10   ca     1   LIG    C   10     0.012400     12.01000 ; qtot -0.817
    11   ca     1   LIG    C   11    -0.127000     12.01000 ; qtot -0.944
    12   ca     1   LIG    C   12     0.045400     12.01000 ; qtot -0.899
    13   ca     1   LIG    C   13    -0.082000     12.01000 ; qtot -0.981
    14   ca     1   LIG    C   14    -0.019900     12.01000 ; qtot -1.001
    15   c3     1   LIG    C   15     0.125200     12.01000 ; qtot -0.875
    16   c3     1   LIG    C   16     0.125200     12.01000 ; qtot -0.750
    17   ha     1   LIG    H   17     0.178000      1.00800 ; qtot -0.572
    18   ha     1   LIG    H   18     0.174000      1.00800 ; qtot -0.398
    19   h1     1   LIG    H   19     0.066367      1.00800 ; qtot -0.332
    20   h1     1   LIG    H   20     0.066367      1.00800 ; qtot -0.265
    21   h1     1   LIG    H   21     0.066367      1.00800 ; qtot -0.199
    22   h1     1   LIG    H   22     0.066367      1.00800 ; qtot -0.133
    23   h1     1   LIG    H   23     0.066367      1.00800 ; qtot -0.066
    24   h1     1   LIG    H   24     0.066367      1.00800 ; qtot -0.000

[ bonds ]
;   ai     aj funct   r             k
     1     14   1    1.8970e-01    2.2560e+05 ;    BR1 - C6    
     2     10   1    1.7290e-01    2.7012e+05 ;    CL1 - C2    
     3     12   1    1.7290e-01    2.7012e+05 ;    CL2 - C4    
     4      5   1    1.9220e-01    2.0987e+05 ;     S1 - P1    
     5      6   1    1.6020e-01    2.8660e+05 ;     P1 - O1    
     5      7   1    1.6020e-01    2.8660e+05 ;     P1 - O2    
     5      8   1    1.6020e-01    2.8660e+05 ;     P1 - O3    
     6      9   1    1.3730e-01    3.1162e+05 ;     O1 - C1    
     7     15   1    1.4390e-01    2.5230e+05 ;     O2 - C7    
     8     16   1    1.4390e-01    2.5230e+05 ;     O3 - C8    
     9     10   1    1.3870e-01    4.0033e+05 ;     C1 - C2    
     9     11   1    1.3870e-01    4.0033e+05 ;     C1 - C3    
    10     13   1    1.3870e-01    4.0033e+05 ;     C2 - C5    
    11     12   1    1.3870e-01    4.0033e+05 ;     C3 - C4    
    11     17   1    1.0870e-01    2.8811e+05 ;     C3 - H1    
    12     14   1    1.3870e-01    4.0033e+05 ;     C4 - C6    
    13     14   1    1.3870e-01    4.0033e+05 ;     C5 - C6    
    13     18   1    1.0870e-01    2.8811e+05 ;     C5 - H2    
    15     19   1    1.0930e-01    2.8108e+05 ;     C7 - H3    
    15     20   1    1.0930e-01    2.8108e+05 ;     C7 - H4    
    15     21   1    1.0930e-01    2.8108e+05 ;     C7 - H5    
    16     22   1    1.0930e-01    2.8108e+05 ;     C8 - H6    
    16     23   1    1.0930e-01    2.8108e+05 ;     C8 - H7    
    16     24   1    1.0930e-01    2.8108e+05 ;     C8 - H8
所需的输出文件:

with open('input.txt', mode='r') as f:
        for lines in f:
            columns = lines.split()
[ atomtypes ]
;name   bond_type     mass     charge   ptype   sigma         epsilon       Amb
 br       br          0.00000  0.00000   A     3.59923e-01   1.75728e+00 ; 2.02  0.4200
 cl       cl          0.00000  0.00000   A     3.47094e-01   1.10876e+00 ; 1.95  0.2650
 s        s           0.00000  0.00000   A     3.56359e-01   1.04600e+00 ; 2.00  0.2500
 p5       p5          0.00000  0.00000   A     3.74177e-01   8.36800e-01 ; 2.10  0.2000
 os       os          0.00000  0.00000   A     3.00001e-01   7.11280e-01 ; 1.68  0.1700
 ca       ca          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860
 c3       c3          0.00000  0.00000   A     3.39967e-01   4.57730e-01 ; 1.91  0.1094
 ha       ha          0.00000  0.00000   A     2.59964e-01   6.27600e-02 ; 1.46  0.0150
 h1       h1          0.00000  0.00000   A     2.47135e-01   6.56888e-02 ; 1.39  0.0157

[ moleculetype ]
;name            nrexcl
 LIG              3

[ atoms ]
;   nr  type  resi  res  atom  cgnr     charge      mass       ; qtot   bond_type
     1   br     1   LIG   BR1    1    -0.040100     79.90000 ; qtot -0.040
     2   cl     1   LIG   CL1    2    -0.040400     35.45000 ; qtot -0.081
     3   cl     1   LIG   CL2    3    -0.046400     35.45000 ; qtot -0.127
     4    s     1   LIG    S1    4    -0.576001     32.06000 ; qtot -0.703
     5   p5     1   LIG    P1    5     1.207199     30.97000 ; qtot 0.504
     6   os     1   LIG    O1    6    -0.442500     16.00000 ; qtot 0.062
     7   os     1   LIG    O2    7    -0.517201     16.00000 ; qtot -0.455
     8   os     1   LIG    O3    8    -0.517201     16.00000 ; qtot -0.973
     9   ca     1   LIG    C1    9     0.143100     12.01000 ; qtot -0.830
    10   ca     1   LIG    C2   10     0.012400     12.01000 ; qtot -0.817
    11   ca     1   LIG    C3   11    -0.127000     12.01000 ; qtot -0.944
    12   ca     1   LIG    C4   12     0.045400     12.01000 ; qtot -0.899
    13   ca     1   LIG    C5   13    -0.082000     12.01000 ; qtot -0.981
    14   ca     1   LIG    C6   14    -0.019900     12.01000 ; qtot -1.001
    15   c3     1   LIG    C7   15     0.125200     12.01000 ; qtot -0.875
    16   c3     1   LIG    C8   16     0.125200     12.01000 ; qtot -0.750
    17   ha     1   LIG    H1   17     0.178000      1.00800 ; qtot -0.572
    18   ha     1   LIG    H2   18     0.174000      1.00800 ; qtot -0.398
    19   h1     1   LIG    H3   19     0.066367      1.00800 ; qtot -0.332
    20   h1     1   LIG    H4   20     0.066367      1.00800 ; qtot -0.265
    21   h1     1   LIG    H5   21     0.066367      1.00800 ; qtot -0.199
    22   h1     1   LIG    H6   22     0.066367      1.00800 ; qtot -0.133
    23   h1     1   LIG    H7   23     0.066367      1.00800 ; qtot -0.066
    24   h1     1   LIG    H8   24     0.066367      1.00800 ; qtot -0.000

[ bonds ]
;   ai     aj funct   r             k
     1     14   1    1.8970e-01    2.2560e+05 ;    BR1 - C6    
     2     10   1    1.7290e-01    2.7012e+05 ;    CL1 - C2    
     3     12   1    1.7290e-01    2.7012e+05 ;    CL2 - C4    
     4      5   1    1.9220e-01    2.0987e+05 ;     S1 - P1    
     5      6   1    1.6020e-01    2.8660e+05 ;     P1 - O1    
     5      7   1    1.6020e-01    2.8660e+05 ;     P1 - O2    
     5      8   1    1.6020e-01    2.8660e+05 ;     P1 - O3    
     6      9   1    1.3730e-01    3.1162e+05 ;     O1 - C1    
     7     15   1    1.4390e-01    2.5230e+05 ;     O2 - C7    
     8     16   1    1.4390e-01    2.5230e+05 ;     O3 - C8    
     9     10   1    1.3870e-01    4.0033e+05 ;     C1 - C2    
     9     11   1    1.3870e-01    4.0033e+05 ;     C1 - C3    
    10     13   1    1.3870e-01    4.0033e+05 ;     C2 - C5    
    11     12   1    1.3870e-01    4.0033e+05 ;     C3 - C4    
    11     17   1    1.0870e-01    2.8811e+05 ;     C3 - H1    
    12     14   1    1.3870e-01    4.0033e+05 ;     C4 - C6    
    13     14   1    1.3870e-01    4.0033e+05 ;     C5 - C6    
    13     18   1    1.0870e-01    2.8811e+05 ;     C5 - H2    
    15     19   1    1.0930e-01    2.8108e+05 ;     C7 - H3    
    15     20   1    1.0930e-01    2.8108e+05 ;     C7 - H4    
    15     21   1    1.0930e-01    2.8108e+05 ;     C7 - H5    
    16     22   1    1.0930e-01    2.8108e+05 ;     C8 - H6    
    16     23   1    1.0930e-01    2.8108e+05 ;     C8 - H7    
    16     24   1    1.0930e-01    2.8108e+05 ;     C8 - H8
[ atomtypes ]
;name   bond_type     mass     charge   ptype   sigma         epsilon       Amb
 br       br          0.00000  0.00000   A     3.59923e-01   1.75728e+00 ; 2.02  0.4200
 cl       cl          0.00000  0.00000   A     3.47094e-01   1.10876e+00 ; 1.95  0.2650
 s        s           0.00000  0.00000   A     3.56359e-01   1.04600e+00 ; 2.00  0.2500
 p5       p5          0.00000  0.00000   A     3.74177e-01   8.36800e-01 ; 2.10  0.2000
 os       os          0.00000  0.00000   A     3.00001e-01   7.11280e-01 ; 1.68  0.1700
 ca       ca          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860
 c3       c3          0.00000  0.00000   A     3.39967e-01   4.57730e-01 ; 1.91  0.1094
 ha       ha          0.00000  0.00000   A     2.59964e-01   6.27600e-02 ; 1.46  0.0150
 h1       h1          0.00000  0.00000   A     2.47135e-01   6.56888e-02 ; 1.39  0.0157

[ moleculetype ]
;name            nrexcl
 LIG              3

[ atoms ]
;   nr  type  resi  res  atom  cgnr     charge      mass       ; qtot   bond_type
     1   br     1   LIG   BR    1    -0.040100     79.90000 ; qtot -0.040
     2   cl     1   LIG   CL    2    -0.040400     35.45000 ; qtot -0.081
     3   cl     1   LIG   CL    3    -0.046400     35.45000 ; qtot -0.127
     4    s     1   LIG    S    4    -0.576001     32.06000 ; qtot -0.703
     5   p5     1   LIG    P    5     1.207199     30.97000 ; qtot 0.504
     6   os     1   LIG    O    6    -0.442500     16.00000 ; qtot 0.062
     7   os     1   LIG    O    7    -0.517201     16.00000 ; qtot -0.455
     8   os     1   LIG    O    8    -0.517201     16.00000 ; qtot -0.973
     9   ca     1   LIG    C    9     0.143100     12.01000 ; qtot -0.830
    10   ca     1   LIG    C   10     0.012400     12.01000 ; qtot -0.817
    11   ca     1   LIG    C   11    -0.127000     12.01000 ; qtot -0.944
    12   ca     1   LIG    C   12     0.045400     12.01000 ; qtot -0.899
    13   ca     1   LIG    C   13    -0.082000     12.01000 ; qtot -0.981
    14   ca     1   LIG    C   14    -0.019900     12.01000 ; qtot -1.001
    15   c3     1   LIG    C   15     0.125200     12.01000 ; qtot -0.875
    16   c3     1   LIG    C   16     0.125200     12.01000 ; qtot -0.750
    17   ha     1   LIG    H   17     0.178000      1.00800 ; qtot -0.572
    18   ha     1   LIG    H   18     0.174000      1.00800 ; qtot -0.398
    19   h1     1   LIG    H   19     0.066367      1.00800 ; qtot -0.332
    20   h1     1   LIG    H   20     0.066367      1.00800 ; qtot -0.265
    21   h1     1   LIG    H   21     0.066367      1.00800 ; qtot -0.199
    22   h1     1   LIG    H   22     0.066367      1.00800 ; qtot -0.133
    23   h1     1   LIG    H   23     0.066367      1.00800 ; qtot -0.066
    24   h1     1   LIG    H   24     0.066367      1.00800 ; qtot -0.000

[ bonds ]
;   ai     aj funct   r             k
     1     14   1    1.8970e-01    2.2560e+05 ;    BR1 - C6    
     2     10   1    1.7290e-01    2.7012e+05 ;    CL1 - C2    
     3     12   1    1.7290e-01    2.7012e+05 ;    CL2 - C4    
     4      5   1    1.9220e-01    2.0987e+05 ;     S1 - P1    
     5      6   1    1.6020e-01    2.8660e+05 ;     P1 - O1    
     5      7   1    1.6020e-01    2.8660e+05 ;     P1 - O2    
     5      8   1    1.6020e-01    2.8660e+05 ;     P1 - O3    
     6      9   1    1.3730e-01    3.1162e+05 ;     O1 - C1    
     7     15   1    1.4390e-01    2.5230e+05 ;     O2 - C7    
     8     16   1    1.4390e-01    2.5230e+05 ;     O3 - C8    
     9     10   1    1.3870e-01    4.0033e+05 ;     C1 - C2    
     9     11   1    1.3870e-01    4.0033e+05 ;     C1 - C3    
    10     13   1    1.3870e-01    4.0033e+05 ;     C2 - C5    
    11     12   1    1.3870e-01    4.0033e+05 ;     C3 - C4    
    11     17   1    1.0870e-01    2.8811e+05 ;     C3 - H1    
    12     14   1    1.3870e-01    4.0033e+05 ;     C4 - C6    
    13     14   1    1.3870e-01    4.0033e+05 ;     C5 - C6    
    13     18   1    1.0870e-01    2.8811e+05 ;     C5 - H2    
    15     19   1    1.0930e-01    2.8108e+05 ;     C7 - H3    
    15     20   1    1.0930e-01    2.8108e+05 ;     C7 - H4    
    15     21   1    1.0930e-01    2.8108e+05 ;     C7 - H5    
    16     22   1    1.0930e-01    2.8108e+05 ;     C8 - H6    
    16     23   1    1.0930e-01    2.8108e+05 ;     C8 - H7    
    16     24   1    1.0930e-01    2.8108e+05 ;     C8 - H8

按索引号匹配,并再次循环检查数字(
isdigit()

输出:

['nr', 'type', 'resi', 'res', 'atom', 'cgnr', 'charge', 'mass', ';', 'qtot', 'bond_type']
['1', 'br', '1', 'LIG', 'BR', '1', '-0.040100', '79.90000', ';', 'qtot', '-0.040']
['2', 'cl', '1', 'LIG', 'CL', '2', '-0.040400', '35.45000', ';', 'qtot', '-0.081']
['3', 'cl', '1', 'LIG', 'CL', '3', '-0.046400', '35.45000', ';', 'qtot', '-0.127']
['4', 's', '1', 'LIG', 'S', '4', '-0.576001', '32.06000', ';', 'qtot', '-0.703']
['5', 'p5', '1', 'LIG', 'P', '5', '1.207199', '30.97000', ';', 'qtot', '0.504']
['6', 'os', '1', 'LIG', 'O', '6', '-0.442500', '16.00000', ';', 'qtot', '0.062']
['7', 'os', '1', 'LIG', 'O', '7', '-0.517201', '16.00000', ';', 'qtot', '-0.455']
['8', 'os', '1', 'LIG', 'O', '8', '-0.517201', '16.00000', ';', 'qtot', '-0.973']
['9', 'ca', '1', 'LIG', 'C', '9', '0.143100', '12.01000', ';', 'qtot', '-0.830']
['10', 'ca', '1', 'LIG', 'C', '10', '0.012400', '12.01000', ';', 'qtot', '-0.817']
['11', 'ca', '1', 'LIG', 'C', '11', '-0.127000', '12.01000', ';', 'qtot', '-0.944']
['12', 'ca', '1', 'LIG', 'C', '12', '0.045400', '12.01000', ';', 'qtot', '-0.899']
['13', 'ca', '1', 'LIG', 'C', '13', '-0.082000', '12.01000', ';', 'qtot', '-0.981']
['14', 'ca', '1', 'LIG', 'C', '14', '-0.019900', '12.01000', ';', 'qtot', '-1.001']
['15', 'c3', '1', 'LIG', 'C', '15', '0.125200', '12.01000', ';', 'qtot', '-0.875']
['16', 'c3', '1', 'LIG', 'C', '16', '0.125200', '12.01000', ';', 'qtot', '-0.750']
['17', 'ha', '1', 'LIG', 'H', '17', '0.178000', '1.00800', ';', 'qtot', '-0.572']
['18', 'ha', '1', 'LIG', 'H', '18', '0.174000', '1.00800', ';', 'qtot', '-0.398']
['19', 'h1', '1', 'LIG', 'H', '19', '0.066367', '1.00800', ';', 'qtot', '-0.332']
['20', 'h1', '1', 'LIG', 'H', '20', '0.066367', '1.00800', ';', 'qtot', '-0.265']
atom

如果希望输出与您的相同,请使用
'\t'。join(i)
将它们合并并再次打印。

您可以使用此正则表达式删除字符串末尾的任何数字

re.sub("[0-9]+$","", string)
例如:

import re
x = 'atom653'
print(re.sub("[0-9]+$","", x))
输出:

['nr', 'type', 'resi', 'res', 'atom', 'cgnr', 'charge', 'mass', ';', 'qtot', 'bond_type']
['1', 'br', '1', 'LIG', 'BR', '1', '-0.040100', '79.90000', ';', 'qtot', '-0.040']
['2', 'cl', '1', 'LIG', 'CL', '2', '-0.040400', '35.45000', ';', 'qtot', '-0.081']
['3', 'cl', '1', 'LIG', 'CL', '3', '-0.046400', '35.45000', ';', 'qtot', '-0.127']
['4', 's', '1', 'LIG', 'S', '4', '-0.576001', '32.06000', ';', 'qtot', '-0.703']
['5', 'p5', '1', 'LIG', 'P', '5', '1.207199', '30.97000', ';', 'qtot', '0.504']
['6', 'os', '1', 'LIG', 'O', '6', '-0.442500', '16.00000', ';', 'qtot', '0.062']
['7', 'os', '1', 'LIG', 'O', '7', '-0.517201', '16.00000', ';', 'qtot', '-0.455']
['8', 'os', '1', 'LIG', 'O', '8', '-0.517201', '16.00000', ';', 'qtot', '-0.973']
['9', 'ca', '1', 'LIG', 'C', '9', '0.143100', '12.01000', ';', 'qtot', '-0.830']
['10', 'ca', '1', 'LIG', 'C', '10', '0.012400', '12.01000', ';', 'qtot', '-0.817']
['11', 'ca', '1', 'LIG', 'C', '11', '-0.127000', '12.01000', ';', 'qtot', '-0.944']
['12', 'ca', '1', 'LIG', 'C', '12', '0.045400', '12.01000', ';', 'qtot', '-0.899']
['13', 'ca', '1', 'LIG', 'C', '13', '-0.082000', '12.01000', ';', 'qtot', '-0.981']
['14', 'ca', '1', 'LIG', 'C', '14', '-0.019900', '12.01000', ';', 'qtot', '-1.001']
['15', 'c3', '1', 'LIG', 'C', '15', '0.125200', '12.01000', ';', 'qtot', '-0.875']
['16', 'c3', '1', 'LIG', 'C', '16', '0.125200', '12.01000', ';', 'qtot', '-0.750']
['17', 'ha', '1', 'LIG', 'H', '17', '0.178000', '1.00800', ';', 'qtot', '-0.572']
['18', 'ha', '1', 'LIG', 'H', '18', '0.174000', '1.00800', ';', 'qtot', '-0.398']
['19', 'h1', '1', 'LIG', 'H', '19', '0.066367', '1.00800', ';', 'qtot', '-0.332']
['20', 'h1', '1', 'LIG', 'H', '20', '0.066367', '1.00800', ';', 'qtot', '-0.265']
atom
您可以稍微修改发布的代码,将输入文件转换为嵌套列表

input_list = []
with open('input.txt', mode='r') as f:
    for lines in f:
        columns = lines.split()
        input_list.append(columns)
然后,您可以将正则表达式应用于输入列表中每个列表的第4个元素

for sublist in input_list:
    sublist[4] = re.sub("[0-9]+$","", sublist[4])

作为一个旁注,考虑使用Python中的表格输入来工作。

编辑: 下面的代码应该适用于输入的新版本

# Read the input
input_list = []
with open('input.txt', mode='r') as f:
    for lines in f:
        columns = lines.split()
        input_list.append(columns)
print(input_list)

# Extract the lines before and after the table with atoms
atoms_start = input_list.index(['[', 'atoms', ']'])
atoms_end = input_list.index(['[', 'bonds', ']'])-1

before_atoms = input_list[:atoms_start]
after_atoms = input_list[atoms_end:]
atoms = input_list[atoms_start:atoms_end]

# Modify the atoms table
for sublist in atoms[1:]:
    sublist[4] = re.sub("[0-9]+$","", sublist[4])

# Merge all parts back
final_list = before_atoms+atoms+after_atoms
编辑2: 保存文件的步骤(从)


以下代码给出了此错误:IndexError:列表索引超出范围。代码:input\u list=[]打开(“input.txt”,mode='r')为f:for f:columns=lines.split()input\u list.append(columns)for sublist in input\u list:sublist[4]=re.sub([0-9]+$,“”,sublist[4])看起来您的一个子列表(输入文件中的行)包含的元素(列)少于5个谢谢我修正了这个错误,但是原子名仍然是一样的。代码不会删除字符串末尾的任何数字。我的代码:
input\u list=[],其中open(“input.txt”,mode='r')为f:for f:columns=lines.split()input\u list.append(columns)为input\u list中的子列表:sublist[4]=re.sub([0-9]+$,“”,sublist[4])
。另一个问题是代码没有搜索“atom”列。这应该是因为在实际的输入文件中有几个“atom”字。代码工作时假设“atom”列始终是行子列表的第5个元素。尝试在输入列表中的子列表的
之后添加
print(子列表[4])
,以确保始终引用正确的元素。