Using the data you supplied as is, you could try something like: def print_cities(filename): # cnt is used just to know if it's time for a newline cnt = 0 cities = open(filename,'r').readlines() for city in cities: # Make sure we have a valid population if re.match('\d+$',city.split(',')[-1].strip()): cnt += 1 c, p = city.split(',') print "{:25} {:15,}".format(c.strip().replace('"',''),int(p.strip())), if cnt % 2 == 0: print
Call it this way: print_cities('/path/to/Cities.txt'). The city names need to be <= 25 characters in length and the numbers <= 15 characters in length including commas but that would give you a number that is bigger than any city I know of :-) You can adjust the column sizes as you wish and print the rest of the letter formatted around the cities. Rob -- http://mail.python.org/mailman/listinfo/python-list