frank wang wrote: > > > > Hi, All, > > > > > > I have found a bug in the loadtxt function. Here is the example. The > file name is test.txt and contains: > > > "Thist is test" > > > 3FF 3fE > > > 3Ef 3e8 > > > 3Df 3d9 > > > 3cF 3c7 > > > > > > In the Python 2.5.2, I type: > > > > > > test=loadtxt('test.txt',comments='"',dtype='string',converters={0:lambda > s:int(s,16)}) > > > > > > test will contain > > > > > > array([['102', '3fE'], > > > ['100', '3e8'], > > > ['991', '3d9'], > > > ['975', '3c7']], > > > dtype='|S3') >
It's because of how numpy handles strings arrays (which I admit I don't understand very well.) Basically, it's converting the numbers properly, but truncating them to 3 characters. Try this, which just forces it to expand to strings 4 characters wide: test=loadtxt('test.txt',comments='"',dtype='|S4',converters={0:lambda s:int(s,16)}) HTH, Ryan -- Ryan May Graduate Research Assistant School of Meteorology University of Oklahoma _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion