On 14 juil, 19:33, amr...@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 -- http://mail.python.org/mailman/listinfo/python-list