Alain Ketterlin wrote: > Terry Reedy <tjre...@udel.edu> writes: > >> On 10/17/2014 6:43 AM, Cameron Simpson wrote: >>> On 17Oct2014 11:45, Dhananjay <dhananjay.c.jo...@gmail.com> wrote: >> >>>> 2.1576318858 -1.8651195165 4.2333428278 >>>> ... >>>> (total of 200 lines) >>>> >>>> Columns 1,2,3 corresponds to x,y,z axis data points. >> >>> for line in open('flooding-psiphi.dat','r'): >>> line = line.split() >>> xs.append(float(line[0])) >>> ys.append(float(line[1])) >>> zs.append(float(line[2])) >> >> A further refinement: >> for line in open('flooding-psiphi.dat','r'): >> x, y, z = map(float, line.split()) >> xs.append(x) >> ys.append(y) >> zs.append(z) > > Or even: > > xs,ys,zs = zip(*[ map(float,line.split()) > for line in open('flooding-psiphi.dat','r') ]) > > You get tuples, though. Use map(list,zip(...)) if you need lists. Easy > to update when you move to 4D data...
Given the context (the script uses numpy) there is another option: xs, ys, zs = numpy.loadtxt('flooding-psiphi.dat').T There may also be a way to feed the array to matplotlib without breaking it into the three columns... -- https://mail.python.org/mailman/listinfo/python-list