Abrir arquivos como float

1. Abrir arquivos como float

Su
dexter25

(usa Debian)

Enviado em 22/05/2012 - 11:07h

Olá Pessoal,

Tenho que ler um arquivo, que tem os seguintes tipo de dados:
-3.46160662174225
3.64467501640320
-0.691246544942260
-6.78836193680763
-4.05444431304932
1.73610851168633

Depois tiro o menor e maior valor do arquivo e preciso tirar a diferença entre eles, o problema, é que quando vou ler o arquivo, ele é aberto como str ( se uso o read), e um lista de str se uso o readlines, então, não consigo fazer a diferença entre os valores, alguém sabe como posso fazer para abrir esse arquivo como float?

Obrigada.



  


2. Re: Abrir arquivos como float

fabricio erdmann
fabricio.er

(usa Debian)

Enviado em 22/05/2012 - 11:21h

use o comando float para transformar de str para float.


3. Re: Abrir arquivos como float

Su
dexter25

(usa Debian)

Enviado em 22/05/2012 - 11:23h

Olá Fabricio, tentei fazer isso, mas por algum motivo, ele não aceita, devolve esse erro: ValueError: could not convert string to float: 14.6315257251263.
Tentei abrir o arquivo também, com o loadtxt do numpy, mas devolve o mesmo erro.


4. Re: Abrir arquivos como float

Marciel Leal
badboy15

(usa Fedora)

Enviado em 15/07/2012 - 16:47h

Se você ler o arquivo com o readlines, você vai ter uma lista com os valores iguais a cada linha do arquivo.
Pegue essa linha e chame o endereço 0 dela e use o float para converte esse endereço.
Segue um exemplo aqui:

a=open("a.txt","r")
r=a.readlines()
p=float(r[0])
print p #p é o número que você quer!


5. veja o exemplo

Almir Bispo dos Santos Filho
gibroh@hotmail.c

(usa Lubuntu)

Enviado em 21/07/2012 - 22:57h

>>> >>>
>>> f=ope('c:/python27//xis.txt','r')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'ope' is not defined
>>> f=open('c:/python27//xis.txt','r')
>>> cont=f.readlines()
>>> print cont
['123\n', '-456\n', '90']
>>> for x in cont:print (x)
123

-456

90
>>> for y in cont:print(float(x)+100)
190.0
190.0
190.0
>>>
>>> for t in cont:print(float(t)+1000)
1123.0
544.0
1090.0
>>> for t in cont:print(float(t)+1000)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts