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