On Aug 6, 3:14 pm, "Shawn Milochik" <[EMAIL PROTECTED]> wrote: > Regular expressions will do the trick nicely. >
Or just use str.split, and create dicts using dict(list_of_tuples) constructor. This code creates a single dict for the input lines, keyed by id. Each value contains elements labeled 'id', 'ra', and 'mjd'. -- Paul data = """\ Field f29227: Ra=20:23:46.54 Dec=+67:30:00.0 MJD=53370.06797690 Frames 5 Set 1 Field f31448: Ra=20:24:58.13 Dec=+79:39:43.9 MJD=53370.06811620 Frames 5 Set 2 Field f31226: Ra=20:24:45.50 Dec=+78:26:45.2 MJD=53370.06823860 Frames 5 Set 3 Field f31004: Ra=20:25:05.28 Dec=+77:13:46.9 MJD=53370.06836020 Frames 5 Set 4 Field f30782: Ra=20:25:51.94 Dec=+76:00:48.6 MJD=53370.06848210 Frames 5 Set 5 Field f30560: Ra=20:27:01.82 Dec=+74:47:50.3 MJD=53370.06860400 Frames 5 Set 6 Field f30338: Ra=20:28:32.35 Dec=+73:34:52.0 MJD=53370.06872620 Frames 5 Set 7 Field f30116: Ra=20:30:21.70 Dec=+72:21:53.6 MJD=53370.06884890 Frames 5 Set 8 Field f29894: Ra=20:32:28.54 Dec=+71:08:55.0 MJD=53370.06897070 Frames 5 Set 9 Field f29672: Ra=20:34:51.89 Dec=+69:55:56.6 MJD=53370.06909350 Frames Set 10 """.splitlines() d = dict( (rec.split()[1][:-1], dict([('id',rec.split()[1][:-1])] + [map(str.lower,f.split('=')) for f in rec.split()[2:5]] ) ) for rec in data ) print d.keys() for id in d.keys(): print d[id].items() -- http://mail.python.org/mailman/listinfo/python-list