Ok. I will try it and let you know. Thanks a lot!! J
> Date: Tue, 30 Nov 2010 20:32:56 -0600 > From: python.l...@tim.thechases.com > To: javiervan...@gmail.com > CC: python-list@python.org > Subject: Re: Reading by positions plain text files > > On 11/30/2010 08:03 PM, javivd wrote: > > On Nov 30, 11:43 pm, Tim Harig<user...@ilthio.net> wrote: > >>> VARIABLE NAME POSITION (COLUMN) IN FILE > >>> var_name_1 123-123 > >>> var_name_2 124-125 > >>> var_name_3 126-126 > >>> .. > >>> .. > >>> var_name_N 512-513 (last positions) > >> > > and no, MRAB, it's not the similar problem (at least what i understood > > of it). I have to associate the position this file give me with the > > variable name this file give me for those positions. > > MRAB may be referring to my reply in that thread where you can do > something like > > OFFSETS = 'offsets.txt' > offsets = {} > f = file(OFFSETS) > f.next() # throw away the headers > for row in f: > varname, rest = row.split()[:2] > # sanity check > if varname in offsets: > print "[%s] in %s twice?!" % (varname, OFFSETS) > if '-' not in rest: continue > start, stop = map(int, rest.split('-')) > offsets[varname] = slice(start, stop+1) # 0-based offsets > #offsets[varname] = slice(start+1, stop+2) # 1-based offsets > f.close() > > def do_something_with(data): > # your real code goes here > print data['var_name_2'] > > for row in file('data.txt'): > data = dict((name, row[offsets[name]]) for name in offsets) > do_something_with(data) > > There's additional robustness-checks I'd include if your > offsets-file isn't controlled by you (people send me daft data). > > -tkc > > > >
-- http://mail.python.org/mailman/listinfo/python-list