Reading a tab delimited text file.

Tim Chase python.list at tim.thechases.com
Mon Feb 23 23:06:58 CET 2009


> I would like to read a text file of numbers produced by a data
> acquisition system into three vectors of doubles. The contents of the
> file are:
> 
> +0.0000000e+0	+2.7645134e+1	+2.7745625e+1
> +0.4100041e-1	+2.7637787e+1	+2.7731047e+1
> +0.0820008e+0	+2.7645134e+1	+2.7750483e+1
> ...
> 
> or
> 
> +0.0000000e+0\t+2.7645134e+1\t+2.7745625e+1\r\n
> ...
> 
> I would like to read the first column into time_vec, second into
> ch1_vec and so on.
> 
> (I have never programmed in python and am having trouble finding a way
> to do this).

Well, a very terse way of doing it would be something like:

   time_vec, ch1_vec, and_so_on = zip(*(
     map(float, line.split())
     for line in file('in.txt')))

If my junior developer authored that, I'm not sure whether I'd 
laud her or fire her. :)

If this isn't homework, there are some less terse versions which 
are a bit easier on the eyes and less like some love-child 
between Perl and Python.

-tkc






More information about the Python-list mailing list