Newby: how to transform text into lines of text
Tim Chase
python.list at tim.thechases.com
Sun Jan 25 20:30:33 EST 2009
Scott David Daniels wrote:
> Here's how I'd do it:
> with open('deheap/deheap.py', 'rU') as source:
> for line in source:
> print line.rstrip() # Avoid trailing spaces as well.
>
> This should handle \n, \r\n, and \n\r lines.
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(f.next())
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.
-tkc
More information about the Python-list
mailing list