Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 27, 2014 14:49:48

sshkrv
Зарегистрирован: 2014-10-14
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

замена символов в файе

добрый день, форумчане!

я считываю данные из файла в виде двух столбцов. файл прикреплен.
вот код:

def getname(i,j): 
    data_dir = os.path.join("/home/ipython/data/abs14")
    subdir = "30.04(hs-au)abs"
    filename = os.path.join("PHE7_0{m}{n}.SP").format(m=i, n=j)
    input_name = os.path.join(data_dir, subdir, filename)
    return input_name
            # функция для считывания файла
input_name = getname(i,j)
data = np.loadtxt(input_name, dtype=float)
            #это у меня сидит в цикле

на что он мне выдает
ValueError: could not convert string to float: –

файл ТОЧНО читается и все хорошо, я проверял. но мне кажется проблема в том, что нек-рые данные записаны в виде 1.306E4, а нек-рых вообще вместо точки стоят запятые.

кто-нибудь знает как лучше всего в файле заменить запятые на точки?
и как бороться с тем, что числа записаны в виде 1.306E4?


буду очень признателен!

Отредактировано sshkrv (Ноя. 27, 2014 14:59:16)

Прикреплённый файлы:
attachment DfltEm20 - Spectral Acquisition[Emission]_DfltEmd20.dat (5,3 KБ)

Офлайн

#2 Ноя. 28, 2014 00:48:10

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10031
Репутация: +  857  -
Профиль   Отправить e-mail  

замена символов в файе

sshkrv
а нек-рых вообще вместо точки стоят запятые
В файле нет запятых.

sshkrv
кто-нибудь знает как лучше всего в файле заменить запятые на точки?
Через sed.

sed -i~ 's/,/./g' filename


sshkrv
data_dir = os.path.join("/home/ipython/data/abs14")
sshkrv
filename = os.path.join("PHE7_0{m}{n}.SP").format(m=i, n=j)
Зачем используешь os.path.join(), если он не применяется?


sshkrv
и как бороться с тем, что числа записаны в виде 1.306E4?
Что пишет, то и должно быть поправлено, чтобы не писало в экспоненциальной форме.
А вообще, можно и так оставить.
>>> float('1.306E4')
13060.0
>>>



Отредактировано py.user.next (Ноя. 28, 2014 00:49:37)

Офлайн

#3 Ноя. 28, 2014 17:54:29

sshkrv
Зарегистрирован: 2014-10-14
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

замена символов в файе

во всем разобрался! была моя ошибка. спасибо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version