Регулярное выражение для интерпретации неудобной научной записиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Регулярное выражение для интерпретации неудобной научной записи

Сообщение Anonymous »

Хорошо, я работаю с этими данными ENDF, см. здесь. Иногда в файлах присутствует, пожалуй, самая раздражающая кодировка чисел с плавающей запятой в научной записи, которую я когда-либо видел1. Там часто используется, что вместо 1.234e-3 будет что-то вроде 1.234-3 (без «е»).
Теперь я' Я видел библиотеку, которая просто заменяет - на e- или + на e+ простой заменой. Но это не работает, когда некоторые числа могут быть отрицательными. В конечном итоге вы получите какую-то ерунду, например e-5.122e-5, когда на входе было -5.122-5.
Итак, я думаю, мне нужно перейти к регулярное выражение? Я открыт для другого решения, более простого, но это лучшее, что я могу сейчас придумать. Я использую библиотеку re Python. Я могу сделать простую замену, ищу [0-9]-[0-9] и заменяю это следующим образом:

Код: Выделить всё

import re
str1='-5.634-5'
x = re.sub('[0-9]-[0-9]','4e-5',str1)
print(x)
Но, очевидно, в целом это не сработает, потому что мне нужно, чтобы цифры до и после - были такими, какими они были, а не просто выдуманными мною... Раньше я использовал группы захвата, но в этом контексте самый быстрый способ использовать группу захвата для цифр до и после - и передать ее обратно в подстановку с помощью библиотеки регулярных выражений Python import re?
1 Да, я знаю, фортран...80 символов...экономия места...перфокарты...никому уже нет дела.

Подробнее здесь: https://stackoverflow.com/questions/788 ... c-notation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Регулярное выражение для интерпретации неудобной научной записи
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как я могу использовать регулярное выражение, чтобы проверить, является ли строка научной нотацией или нет?
    Anonymous » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Метка метки matplotlib представляет собой смесь простой и научной записи
    Гость » » в форуме Python
    0 Ответы
    40 Просмотры
    Последнее сообщение Гость
  • Метка метки matplotlib представляет собой смесь простой и научной записи [дубликат]
    Гость » » в форуме Python
    0 Ответы
    48 Просмотры
    Последнее сообщение Гость
  • Напишите xscale в Myr (не в научной записи)
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»