Автоматически обрабатывать числа в электронной (научной) записи в Python - PullRequest
16 голосов
/ 27 июня 2011

Я читаю в файлах данных с масс-спектрометра, и многие числа находятся в электронной форме, например,

4096.26 5.785e1
4096.29 5.784e1
4096.31 5.784e1
4096.33 5.784e1
4096.36 5.783e1

Я планирую использовать функцию split для получения двух чисел, но я хотел знать, есть ли функция для преобразования второго столбца в числа с плавающей точкой? Я знаю, что мог бы сделать это с помощью регулярных выражений, но подумал, что может быть лучший способ

Спасибо

1 Ответ

27 голосов
/ 27 июня 2011

Конструктор float() будет принимать строки в записи e:

>>> float("5.785e1")
57.85

Так что вы можете просто использовать map(float, line.split()) для преобразования текстовой строки в список чисел с плавающей точкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...