Colocar virgula ao final de cada linha em um TXT

4,793 views
Skip to first unread message

Gustavo Henrique Borges

unread,
Dec 4, 2014, 8:04:06 PM12/4/14
to python...@googlegroups.com
Boa noite gente, estou tentando colocar uma vírgula no final de cada linha em um arquivo TXT, já tentei de tudo e não consigo, eu tenho mais de 5 mil linhas, por isso o objetivo de fazer algum script.

Por exemplo, tenho os seguintes nomes: 

Gustavo Henrique
Manoel da Nobrega
Antonio Fagundes
Juliana Teixeira

Gostaria de deixar se possível de duas formas:


Assim:
Gustavo Henrique, Manoel da Nobrega, Antonio Fagundes, Juliana Teixeira

ou Assim:
Gustavo Henrique, 
Manoel da Nobrega, 
Antonio Fagundes,
Juliana Teixeira


Podem me ajudar por favor, já procurei em todo lugar

Edgar Gabaldi

unread,
Dec 4, 2014, 8:07:06 PM12/4/14
to python...@googlegroups.com
import codecs
arquivo = codecs.open('arquivo.txt').read()

novo_arquivo = map(lambda linha: linha + ',', arquivo)


escreve no arquivo...
    



--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Edgar Gabaldi

unread,
Dec 4, 2014, 8:08:42 PM12/4/14
to python...@googlegroups.com
da primeira forma, você pode fazer assim:

import codecs
arquivo = codecs.open('arquivo.txt').read()

novo_arquivo = ','.join(arquivo)

escreve no arquivo...

Linux - Junior Polegato

unread,
Dec 5, 2014, 3:07:27 AM12/5/14
to python...@googlegroups.com

Olá!

Para editar diretamente um arquivo, abra-o no modo "r+" e vai percorrendo um a um os caracteres procurando por "\n" (quebra de linha) e escrevendo por cima ",". Se tiver "\r" (Windows), pode-se trocar esse por "," e "\n" por espaço.

with arquivo as open("caminho/nome ", " r+"):
    c = arquivo.read(1)
    while c:
        while c and c not in ("\r", "\n"):
            c = arquivo.read(1)
        if c:
            arquivo.seek(-1, 1)
            arquivo.write(",")
            if c == "\r":
                arquivo.write(" ") # espaço
            c = arquivo.read(1)
       
[]'s

Junior Polegato

Linux - Junior Polegato

unread,
Dec 5, 2014, 5:44:47 AM12/5/14
to python...@googlegroups.com
Olá!

        Eu fiz o celular e não havia testado meu código, testando agora, o correto seria:

https://gist.github.com/JuniorPolegato/419d52d44be141884800

[]'s

         Junior Polegato

Gustavo Henrique Borges

unread,
Dec 5, 2014, 5:54:04 AM12/5/14
to python...@googlegroups.com
Muito Obrigado Junior e Edgar, foi muito útil, tanto para o que eu queria, quanto para meu aprendizado

Abs
Reply all
Reply to author
Forward
0 new messages