i have a csv file from where in i read the data and store individual coloumns in list , but for the last coloumn i am getting \n in the list . i want to get rid of that .

f = open('datagen.txt')
  for lines in f:
      line = lines.split(',')
      l1.append(line[0])
      l2.append(line[1])

l2 contains like abcd\n in it .. i dont want the newline character .

You can replace line 3 with line = lines.rstrip().split(',')

Note that this will probably cause an error at
l2.append(line[1])
because length will be too short. You should be testing for length anyway:

f = open('datagen.txt')
for lines in f:
    line = lines.strip().split(',')
    if len(line) > 1:
        l1.append(line[0])
        l2.append(line[1])

Edited 6 Years Ago by woooee: n/a

Also your indention is of (maybe only copy paste error). And it is good practice to learn to use with statement which automatically will close the file for you after processing and also if there is error in file handling in the block.

Here is shown how to get easier the columns by reading lines and transposing by zip(*lines).

with open('datagen.txt') as f:
    lines = [ line.strip().split(',') for line in f]

columns = zip(*lines)
print columns[0]
print columns[1]
This article has been dead for over six months. Start a new discussion instead.