Olá pessoal,
Preciso ler um arquivo .txt, onde possuo 4 colunas mais preciso ler a partir da 2 coluna, porém esta me retornando o erro seguinte:
Traceback (most recent call last):
File "C:\dados.py", line 25, in <module>
x = numpy.loadtxt('C:\dados.txt')[:0]
File "C:\EPD\lib\site-packages\numpy\lib\io.py", line 630, in loadtxt
X.append(tuple([conv(val) for (conv, val) in zip(converters, vals)]))
ValueError: invalid literal for float(): 1993ah
Vejam meu código: http://pastebin.com/6TmsiPkm
O meu arquivo .txt ...possui essa estrutura: http://pastebin.com/wjiyRV80
Alguém pode me ajudar?
Pelo que entendi da mensagem de erro, o numpy tenta converter '1993ah' para
um float, mas não consegue pois tem os caracteres 'ah' no final. Por isso o
erro: "ValueError: invalid literal for float(): 1993ah"
2010/10/4 waleria_antunes <no_r...@yahoogrupos.com.br>
>
>
> Olá pessoal,
>
> Preciso ler um arquivo .txt, onde possuo 4 colunas mais preciso ler a
> partir da 2 coluna, porém esta me retornando o erro seguinte:
>
> Traceback (most recent call last):
> File "C:\dados.py", line 25, in <module>
> x = numpy.loadtxt('C:\dados.txt')[:0]
> File "C:\EPD\lib\site-packages\numpy\lib\io.py", line 630, in loadtxt
> X.append(tuple([conv(val) for (conv, val) in zip(converters, vals)]))
> ValueError: invalid literal for float(): 1993ah
>
> Vejam meu código: http://pastebin.com/6TmsiPkm
>
> O meu arquivo .txt ...possui essa estrutura: http://pastebin.com/wjiyRV80
>
> Alguém pode me ajudar?
>
>
>
--
Warmest regards,
Dilan Nery - @dilannery
[As partes desta mensagem que não continham texto foram removidas]
Meu caro,
Acredito que seria melhor você trabalhar com o CSV.
é simples e prático. Procure sobre a documentação do módulo.
Assim você poderá fazer um check antes de carregar os dados.
Um abraço,
Vinícius Franco do Nascimento
"Doing easily what others find difficult is talent; doing what is impossible
for talent is genius." -- Henri-Frederic Amiel
2010/10/4 Fabiano Santana <fassan...@gmail.com>
> O erro está acontecendo porque o programa está interpretando '1993ah' como
> um dado float.
> Não sei mexer com numpy mas talvez exista alguma maneira de você fazer com
> que ela interprete
> isso como string e então, posteriormente, você pode descarta esse dado,
> posto que você não deseja
> ler a primeira coluna. Certamente há procedimentos mais elegante que esse.
>
> Você pode tentar isso:
> ### inicio ###
> def Ler(arquivo):
> arq = open(arquivo,"r")
> linhas = []
> linha = True # apenas para inicial
> while(True): # 'quebrará' quando ler todas as linhas
> linha = arq.readline()
> if(linha):
> linha = linha.split("\t") # deve ser modificado para o tipo de separador de
> colunas no arquivo
> linha = linha[1:] # retira a primeira coluna
> linha[-1] = linha[-1][:-1] # para retinar o '\n' do final
> linhas.append(linha)
> else: break
> arq.close()
> return linhas
>
> print Ler("teste.txt")
> ### fim ###
>
> O resultado, para o exemplo, será:
> [['0.028488', '35.3355510594', '0.226143925635'], ['0.050043',
> '36.6754415683', '0.167114251513'], ['0.052926', '36.8168806729',
> '0.155866408242']]
> Ou seja, um lista de listas de string (feio).
>
> Em 4 de outubro de 2010 10:23, waleria_antunes
> <no_r...@yahoogrupos.com.br>escreveu:
>
> >
> >
> > Olá pessoal,
> >
> > Preciso ler um arquivo .txt, onde possuo 4 colunas mais preciso ler a
> > partir da 2 coluna, porém esta me retornando o erro seguinte:
> >
> > Traceback (most recent call last):
> > File "C:\dados.py", line 25, in <module>
> > x = numpy.loadtxt('C:\dados.txt')[:0]
> > File "C:\EPD\lib\site-packages\numpy\lib\io.py", line 630, in loadtxt
> > X.append(tuple([conv(val) for (conv, val) in zip(converters, vals)]))
> > ValueError: invalid literal for float(): 1993ah
> >
> > Vejam meu código: http://pastebin.com/6TmsiPkm
> >
> > O meu arquivo .txt ...possui essa estrutura:
> http://pastebin.com/wjiyRV80
> >
> > Alguém pode me ajudar?
> >
> >
> >
>
>
>
> --
> Att,
> Fabiano A. S. Santana
> Bacharelando em Ciência da Computação
> Universidade Federal do Tocantins
> +55 63 9241 6342
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ,----------------------------------------------------------.
> | Antes de enviar um e-mail para o grupo leia: |
> | http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar |
> | E se você é usuário do BOL lembre-se de cadastrar o |
> | e-mail do grupo na lista branca do seu sistema anti-spam. |
> `----------------------------------------------------------´Links do
> Yahoo! Grupos
>
>
>
[As partes desta mensagem que não continham texto foram removidas]
Bom, resolvi esse problema, no entanto apareceu um outro, agora me retorna esse erro: http://pastebin.com/eTq8npJU
Meu código: http://pastebin.com/dCwRnN2D
O que pode ser?
--- Em python...@yahoogrupos.com.br, Fabiano Santana <fassantanaatm@...> escreveu