column selection

Dave Angel davea at ieee.org
Thu May 6 05:26:07 EDT 2010


mannu jha wrote:
> Hi,
>
> I have few files like this:
>
> 24 ALA  helix (helix_alpha, helix2)
>
>
> 27 ALA  helix (helix_alpha, helix2)
>
>
> 51 ALA  helix (helix_alpha, helix4)
>
>
> 58 ALA  helix (helix_alpha, helix5)
>
>
> 63 ALA  helix (helix_alpha, helix5)
>
> now with this program:
>
> for line in open('1.txt'):
>        columns = line.split()
>        print columns[0], columns[2] 
>
> I am trying to print only 1st and third column but it showing error like:
> mruser at caf:~> python split.py
> 24 helix
> Traceback (most recent call last):
>   File "split.py", line 3, in 
>     print columns[0], columns[2]
> IndexError: list index out of range
> nmruser at caf:~>
>  how to rectify it.
>
> Thanks,
>
>   
If your files have two blank lines between each useful line, you have to 
do something to avoid trying to print those items for the blank lines.  
Depending how sure you are about your formatting, you could either do a
    if not line:  continue

or a
     if columns < 3: continue

DaveA




More information about the Python-list mailing list