Newby: how to transform text into lines of text

Gabriel Genellina gagsl-py2 at
Mon Jan 26 03:03:54 CET 2009

En Sun, 25 Jan 2009 23:30:33 -0200, Tim Chase  
<python.list at> escribió:

> Unfortunately, a raw rstrip() eats other whitespace that may be  
> important.  I frequently get tab-delimited files, using the following  
> pseudo-code:
>    def clean_line(line):
>      return line.rstrip('\r\n').split('\t')
>    f = file('customer_x.txt')
>    headers = clean_line(
>    for line in f:
>      field1, field2, field3 = clean_line(line)
>      do_stuff()
> if field3 is empty in the source-file, using rstrip(None) as you suggest  
> triggers errors on the tuple assignment because it eats the tab that  
> defined it.
> I suppose if I were really smart, I'd dig a little deeper in the CSV  
> module to sniff out the "right" way to parse tab-delimited files.

It's so easy that don't doing that is just inexcusable lazyness :)
Your own example, written using the csv module:

import csv

f = csv.reader(open('customer_x.txt','rb'), delimiter='\t')
headers =
for line in f:
     field1, field2, field3 = line

Gabriel Genellina

More information about the Python-list mailing list