On 06/03/2011 09:33 AM, jonasr wrote:
thank you very much, works much nicer and faster in comparison to the script i wrote and used before , im not that much used to lambda forms but it seems quit usefull in situations like thisOlivier Delalleau-2 wrote:Here's an ugly one-liner: numpy.genfromtxt('data.txt', converters=dict([k, lambda x: float(x.replace(',', '.'))] for k in range(len(open('data.txt').readline().strip().split())))) -=- Olivier 2011/6/3 jgrub<[email protected]>Hello, im actually try to read in data with genfromtxt(), i want to read in numbers which are stored in a textfile like this: 0,000000 0,001221 0,001221 0,000000 1,278076 160,102539 4,000000E-7 0,000000 0,000000 0,002441 1,279297 160,000000 8,000000E-7 -0,001221 0,000000 0,001221 1,279297 159,897461 1,200000E-6 0,000000 0,000000 0,001221 1,279297 160,000000 1,600000E-6 -0,001221 0,000000 0,003662 1,278076 159,897461 2,000000E-6 0,000000 -0,001221 0,003662 1,279297 160,000000 my problem is that they are seperated with a comma so when i try to read them i just get a numpy array with NaN's. is there a short way to replace the "," with "." ? -- View this message in context: http://old.nabble.com/numpy-input-with-genfromttxt%28%29-tp31757790p31757790.html Sent from the Numpy-discussion mailing list archive at Nabble.com. _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion_______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
Isn't this just because of the 'locale' settings?A quick search showed ticket 884 that has code changing the locale that may be useful for you:
http://projects.scipy.org/numpy/ticket/884 Perhaps a similar bug exists with genfromtxt? If it is nicely behaved, just use Python's csv module. From the csv documentation:"Since open() <http://docs.python.org/release/3.1.3/library/functions.html#open> is used to open a CSV file for reading, the file will by default be decoded into unicode using the system default encoding (see locale.getpreferredencoding() <http://docs.python.org/release/3.1.3/library/locale.html#locale.getpreferredencoding>). To decode a file using a different encoding, use the encoding argument of open:"
Bruce
_______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
