> I have a file containing following data. But the dimension can be > different. > > A B C D E F G > 3 4 1 5 6 2 4 > 7 2 4 1 6 9 3 > 3 4 1 5 6 2 4 > 7 2 4 1 6 9 3 > . > . > . > . > > What is the best approach to make a column vector with the name such > as A B, etc?
There are a couple different ways to go about it depending on 1) whether just one or whether both dimensions can be different 2) whether you want to extract each column vector Both of the following should allow for an arbitrary number of columns: To map everything, you can do something like ####################################### infile = file("in.txt") header_row = infile.next().rstrip('\n').split() values = [[] for header in header_row] for line in infile: line = line.rstrip('\n').split() for dest, value in zip(values, line): dest.append(value) infile.close() results = dict(zip(header_row, values)) ####################################### which you can then use with results['A'] However, if you just want a particular column from the file and don't care about the rest, you can do something like ####################################### from itertools import islice column_c = [ line.rstrip('\n').split()[2] for line in islice(file('in'), 1, None) ] ####################################### where "2" is the zero-based column offset you want (in this case, column C = 2) -tkc -- http://mail.python.org/mailman/listinfo/python-list