select lines in python
Pierre Quentel
quentel.pierre at wanadoo.fr
Wed Jul 15 06:04:01 EDT 2009
On 14 juil, 19:33, amr... at iisermohali.ac.in wrote:
> Dear all,
>
> Can anyone tell me that suppose i have a file having content like:
>
> _Atom_name
> _Atom_type
> _Chem_shift_value
> _Chem_shift_value_error
> _Chem_shift_ambiguity_code
> 1 1 PHE H H 8.49 0.02 1
> 2 1 PHE HA H 4.60 0.02 1
> 3 1 PHE CA C 57.83 0.3 1
> 4 2 LEU H H 8.23 0.02 1
> 5 2 LEU HA H 4.25 0.02 1
> 6 2 LEU HB2 H 1.54 0.02 1
> 7 3 ASP H H 8.10 0.02 1
> 8 3 ASP HA H 4.52 0.02 1
> 9 3 ASP HB2 H 2.65 0.02 1
> stop
>
> now what i want that instead of copying all the lines it will just write
> the information about PHE and ASP then how i acn do that using python
> programming.Kindly tell me the command for that.
>
> Thanks,
> Amrita Kumari
> Research Fellow
> IISER Mohali
> Chandigarh
> INDIA
Hi,
The problem here is to test the values at specific colums in the file.
So I'd rather split each line into a list of values and do a test on
relevant items, like :
for line in open(filename):
items = line.strip().split()
if items[1] in ["ASP","PHE"]:
(... handle this case ...)
Using re here is probably not the best way. It may happen that a
sequence appearing in a column also appears in another one ; and when
the tests become more complex the regular expression itself might
become complex, or even impossible (imagine the OP wants to test that
the numeric values are below a certain threshold)
- Pierre
More information about the Python-list
mailing list