I tried with this:

for line in open('1.txt'):
       columns = line.split()
       print columns[0], columns[1]
       if not line: continue

but it is showing error:

nmru...@caf:~> python split.py
24 ALA
Traceback (most recent call last):
  File "split.py", line 3, in 
    print columns[0], columns[1]
IndexError: list index out of range
nmru...@caf:~>

Thanks,

On Thu, 06 May 2010 15:44:07 +0530  wrote
>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:

> mru...@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

> nmru...@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



-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to