Transformar txt em lista python

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Transformar txt em lista python

danielportodelima
Estou presisando trasnsformar um arquivo txt em uma lista no python...
ja tentei usar a funcar readlines() o problema dla eh q ela deixa
caracteres de formatacao cmo /n,/t etc...

Reply | Threaded
Open this post in threaded view
|

Re: Transformar txt em lista python

Leonardo Santagada

On Jan 10, 2009, at 12:51 AM, danielportodelima wrote:

> Estou presisando trasnsformar um arquivo txt em uma lista no python...
> ja tentei usar a funcar readlines() o problema dla eh q ela deixa
> caracteres de formatacao cmo /n,/t etc...


é só usar a função strip em cada uma das linhas, como no exemplo abaixo:

arquivo = open('meu_arquivo.txt')
lista = [linha.strip() for linha in arquivo]
arquivo.close()
print lista

:)


--
Leonardo Santagada
santagada at gmail.com



Reply | Threaded
Open this post in threaded view
|

Re: Transformar txt em lista python

Renato Besen
2009/1/10 Leonardo Santagada <[hidden email]>:

>
> é só usar a função strip em cada uma das linhas, como no exemplo abaixo:
>
> arquivo = open('meu_arquivo.txt')
> lista = [linha.strip() for linha in arquivo]
> arquivo.close()
> print lista
>
> :)
>
>

Mesma solução, mas usando o novo operador with

>>> with open('meu_arquivo.txt') as arquivo:
...     lista = [linha.strip() for linha in arquivo]
...
>>> print lista


--
Renato Besen
http://baixonivel.blogspot.com/
renatobesen em gmail.com
Reply | Threaded
Open this post in threaded view
|

Re: Transformar txt em lista python

Arthur Pires
Renato Besen escreveu:

>
> 2009/1/10 Leonardo Santagada <[hidden email]
> <mailto:santagada%40gmail.com>>:
> >
> > é só usar a função strip em cada uma das linhas, como no exemplo abaixo:
> >
> > arquivo = open('meu_arquivo.txt')
> > lista = [linha.strip() for linha in arquivo]
> > arquivo.close()
> > print lista
> >
> > :)
> >
> >
>
> Mesma solução, mas usando o novo operador with
>
> >>> with open('meu_arquivo.txt') as arquivo:
> ... lista = [linha.strip() for linha in arquivo]
> ...
> >>> print lista
>
> --
> Renato Besen
> http://baixonivel.blogspot.com/ <http://baixonivel.blogspot.com/>
> renatobesen em gmail.com
>
>  

stip tira os espaços tmb do início e do fim, rstrip tira só do fim, pode
ser mais interessante tirar só do fim com rstrip()
 >> fl = [a.rstrip() for a in open("arquivo)]

ou essa solução que só tira o \n\r

 >>fl = []
 >>for a in open("arquivo"):
 >>    p = a.rfind("\n")
 >>    if p == -1:
 >>        fl.append(a)
 >>    else:
 >>        fl.append(a[:p])
Reply | Threaded
Open this post in threaded view
|

Re: Transformar txt em lista python

Pedro Werneck-2
On Sunday 11 January 2009 12:57:34 Arthur Pires wrote:

> stip tira os espaços tmb do início e do fim, rstrip tira só do fim, pode
> ser mais interessante tirar só do fim com rstrip()
>
>  >> fl = [a.rstrip() for a in open("arquivo)]
>
> ou essa solução que só tira o \n\r
>
>  >>fl = []
>  >>for a in open("arquivo"):
>  >>    p = a.rfind("\n")
>  >>    if p == -1:
>  >>        fl.append(a)
>  >>    else:
>  >>        fl.append(a[:p])


Que tal usar só:

p = a.strip("\r\n")

?


--
Pedro Werneck
Reply | Threaded
Open this post in threaded view
|

Re: Transformar txt em lista python

Arthur Pires
eh, fica ai a solução ideal
Pedro Werneck escreveu:

>
> On Sunday 11 January 2009 12:57:34 Arthur Pires wrote:
>
> > stip tira os espaços tmb do início e do fim, rstrip tira só do fim, pode
> > ser mais interessante tirar só do fim com rstrip()
> >
> > >> fl = [a.rstrip() for a in open("arquivo)]
> >
> > ou essa solução que só tira o \n\r
> >
> > >>fl = []
> > >>for a in open("arquivo"):
> > >> p = a.rfind("\n")
> > >> if p == -1:
> > >> fl.append(a)
> > >> else:
> > >> fl.append(a[:p])
>
> Que tal usar só:
>
> p = a.strip("\r\n")
>
> ?
>
> --
> Pedro Werneck
>
>  

Reply | Threaded
Open this post in threaded view
|

Re: Transformar txt em lista python

Marco André Lopes Mendes
In reply to this post by Pedro Werneck-2
2009/1/11 Pedro Werneck <[hidden email]>

> Que tal usar só:
>
> p = a.strip("\r\n")
>
> ?
>

Eu vejo um problema quando você não sabe como o arquivo foi criado, pois há
situações em que ele tem "\r\n" e em outras apenas "\n". O ideal seria uma
solução que resolvesse os dois casos. strip sem argumentos faz isso? Não
testei, mas a documentação fala em retirar "whitespaces".

Um abraço

--
Marco André
[hidden email]
http://marrcandre.blogspot.com


[As partes desta mensagem que não continham texto foram removidas]

Reply | Threaded
Open this post in threaded view
|

Re: Transformar txt em lista python

Guilherme Polo
2009/1/11 Marco André Lopes Mendes <[hidden email]>:

> 2009/1/11 Pedro Werneck <[hidden email]>
>
>> Que tal usar só:
>>
>> p = a.strip("\r\n")
>>
>> ?
>>
>
> Eu vejo um problema quando você não sabe como o arquivo foi criado, pois há
> situações em que ele tem "\r\n" e em outras apenas "\n". O ideal seria uma
> solução que resolvesse os dois casos. strip sem argumentos faz isso? Não
> testei, mas a documentação fala em retirar "whitespaces".
>

O strip usa a funcao isspace nesse caso, no CPython pelo menos.
'\f', '\n', '\r', '\t' e '\v' são espaços para a isspace, pelo menos
nas implementações que eu conheço.

> Um abraço
>
> --
> Marco André
> [hidden email]
> http://marrcandre.blogspot.com
>

--
-- Guilherme H. Polo Goncalves
Reply | Threaded
Open this post in threaded view
|

Re: Transformar txt em lista python

Leonardo Santagada
In reply to this post by Marco André Lopes Mendes

On Jan 11, 2009, at 6:27 PM, Marco André Lopes Mendes wrote:

> 2009/1/11 Pedro Werneck <[hidden email]>
>
>> Que tal usar só:
>>
>> p = a.strip("\r\n")
>>
>> ?
>>
>
> Eu vejo um problema quando você não sabe como o arquivo foi criado,  
> pois há
> situações em que ele tem "\r\n" e em outras apenas "\n". O ideal  
> seria uma
> solução que resolvesse os dois casos. strip sem argumentos faz isso?  
> Não
> testei, mas a documentação fala em retirar "whitespaces".
>
> Um abraço

é só abrir o arquivo usando o modo universal new-lines, ai em qualquer  
os o fim de linha vai ser \n.


--
Leonardo Santagada
santagada at gmail.com



Reply | Threaded
Open this post in threaded view
|

Re: Transformar txt em lista python

Pedro Werneck-2
In reply to this post by Marco André Lopes Mendes
On Sunday 11 January 2009 18:27:23 Marco André Lopes Mendes wrote:

> 2009/1/11 Pedro Werneck <[hidden email]>
>
> > Que tal usar só:
> >
> > p = a.strip("\r\n")
> >
> > ?
>
> Eu vejo um problema quando você não sabe como o arquivo foi criado, pois há
> situações em que ele tem "\r\n" e em outras apenas "\n". O ideal seria uma
> solução que resolvesse os dois casos. strip sem argumentos faz isso? Não
> testei, mas a documentação fala em retirar "whitespaces".


Foi só uma sugestão ao código do Arthur, que acho que não sabia que strip()
aceita um argumento e complicou desnecessariamente. Se for remover todo
whitespace, usa strip() direto, claro.

--
Pedro Werneck
Reply | Threaded
Open this post in threaded view
|

Re: Transformar txt em lista python

Antonio Lucas
In reply to this post by Marco André Lopes Mendes
2009/1/11 Marco André Lopes Mendes <[hidden email]>

>   2009/1/11 Pedro Werneck <[hidden email] <pjwerneck%40gmail.com>>
>
>
> > Que tal usar só:
> >
> > p = a.strip("\r\n")
> >
> > ?
> >
>
> Eu vejo um problema quando você não sabe como o arquivo foi criado, pois há
> situações em que ele tem "\r\n" e em outras apenas "\n". O ideal seria uma
> solução que resolvesse os dois casos.
>
Vc chegou a testar? Eu uso o strip da forma q o pedro sugeriu e funciona nos
dois casos(pelo menos comigo).

Lucas


[As partes desta mensagem que não continham texto foram removidas]

Reply | Threaded
Open this post in threaded view
|

Re: Transformar txt em lista python

Alexandre Martani
In reply to this post by Marco André Lopes Mendes
strip("\r\n") retira todos os "\n"s E "\r"s que estiverem nos extremos
da string, não necessariamente nesta sequência nem nada.

--
Alexandre Martani - amartani em gmail com



2009/1/11 Marco André Lopes Mendes <[hidden email]>:

> 2009/1/11 Pedro Werneck <[hidden email]>
>
>> Que tal usar só:
>>
>> p = a.strip("\r\n")
>>
>> ?
>>
>
> Eu vejo um problema quando você não sabe como o arquivo foi criado, pois há
> situações em que ele tem "\r\n" e em outras apenas "\n". O ideal seria uma
> solução que resolvesse os dois casos. strip sem argumentos faz isso? Não
> testei, mas a documentação fala em retirar "whitespaces".
>
> Um abraço
>
> --
> Marco André
> [hidden email]
> http://marrcandre.blogspot.com
>
>
> [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
>
>
>