inserir virgulas em uma arquivo txt

1. inserir virgulas em uma arquivo txt

Tiago
james007tia

(usa Outra)

Enviado em 28/12/2015 - 21:47h

O amigos tenho o seguinte arquivo txt com o seguinte conteudo.

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


e quero que fique o seguinte
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,x
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,x
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,x
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,x

agurado obrigado


  


2. Re: inserir virgulas em uma arquivo txt

Pythonux
bielinux

(usa Ubuntu)

Enviado em 28/12/2015 - 21:53h

Amigo, abre um editor de textos aí e faz isso.


3. Re: inserir virgulas em uma arquivo txt

Pythonux
bielinux

(usa Ubuntu)

Enviado em 28/12/2015 - 21:55h

Acima, brincadeiras a parte. Mas vê se ponhe no conteúdo do seu tópico que você quer Python, senão algum maluco vai achar sua pergunta ruim.

Não manjo tanto assim de Python, mas creio que você precisa seguir a seguinte lógica:
- Você tem um arquivo com uma string, e deseja pôr vírgulas no lugar dos espaços e após 47 caracteres o caractere "," (vírgula) + o caractere "x"

OK. Até aí tudo bem, vamos lá:
- Seu programa ficar rodando dentro de um LOOP. Neste loop, ele deverá checar SE o caractere indicado é um espaço em braco. Em caso afirmativo, ele substitui este caractere por uma vírgula. E também deverá checar se o caractere É DIVISÍVEL por 47. Neste caso, acrescentará ao documento os caracteres "," e "x". Quebras de linhas são representadas pelo caractere "\n", sendo assim, não há com o que se preocupar.

Desculpe se errei em alguma coisa, mas estou aqui para tentar ajudar!


4. Re: inserir virgulas em uma arquivo txt

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/12/2015 - 22:02h

Use o tradicional comando unix sed:

sed -i 's/\ /,/g;s/\(00\)$/\1,x/g' texto.txt

- -
moremoremoreram!
http://bit.ly/1Pqwb4T



5. arquivo grande 32 milhoes de linhas

Tiago
james007tia

(usa Outra)

Enviado em 28/12/2015 - 22:22h

O negocio que eu quero formatar um arquivo que tem 32 milhoes de linhas colocando uma virula entre os numeros e um x no final
esse sed faz arquivo todo irei testar?


6. amigo falto o x no final do arquivo a virgular foi legal

Tiago
james007tia

(usa Outra)

Enviado em 28/12/2015 - 22:26h

amigo faltou o x no final do arquivo a virgular foi legal
Ja agradecido aguardo!!!!!!!!!!!


7. Re: inserir virgulas em uma arquivo txt

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/12/2015 - 22:27h

james007tia escreveu:

O negocio que eu quero formatar um arquivo que tem 32 milhoes de linhas colocando uma virula entre os numeros e um x no final
esse sed faz arquivo todo irei testar?


Como você postou na comunidade sobre Python, você quer fazer isso nesta linguagem? Pois ai é outro esquema.

Quanto ao arquivo ter milhões de linhas, a substituição do sed ai é global. Faça da seguinte forma para preservar o arquivo original:

sed 's/\ /,/g;s/\(00\)$/\1,x/g' texto.txt > texto-modificado.txt


- -
moremoremoreram!
http://bit.ly/1Pqwb4T



8. Re: inserir virgulas em uma arquivo txt

Matth
MattF

(usa Slackware)

Enviado em 28/12/2015 - 22:31h

Python é realmente sua solução:


with open("nome do arquivo não editado", "r") as in_file:
with open("nome do arquivo editado", "a") as out_file:
for word in in_file:
for char in word:
if char==" ":
char=','
elif char=='\n':
char='x'

out_file.write(char)
out_file.write('\n')


Não testei esse código mas creio que o raciocínio esteja correto. Teste com um pequeno e se der certo siga em frente.


9. help please

Tiago
james007tia

(usa Outra)

Enviado em 29/12/2015 - 00:41h

amigo funcionou em parte porem a saida do arquivo esta sendo a seguinte

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
x
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
x
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
x
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
x
e eu presciso como esta citado acima


10. Re: inserir virgulas em uma arquivo txt

Arthur J. Hoch
Arthur_Hoch

(usa FreeBSD)

Enviado em 29/12/2015 - 00:47h

Boa noite,

Essa aqui seria minha solução:

 $ sed s/" "/","/g entrada.txt >> saida.txt 


Edit:

Esqueci de colocar o 'x', colocando o x eu faria assim:

 $ sed s/" "/","/g entrada.txt | sed s/"\n"/",x\n"/g > saida.txt 


Att,


11. amigo nada do x no final do arquivo

Tiago
james007tia

(usa Outra)

Enviado em 29/12/2015 - 01:18h

amigo nada do x no final do arquivo
amigo no lugar do x pode ser 0 se facilitar


12. Re: inserir virgulas em uma arquivo txt

Matth
MattF

(usa Slackware)

Enviado em 29/12/2015 - 01:40h

james007tia escreveu:

amigo nada do x no final do arquivo
amigo no lugar do x pode ser 0 se facilitar


Tenta assim, já testei e aqui funcionou. copia exatamente:



# -*- coding: utf-8 -*-

infile=raw_input("Entre com o nome de seu arquivo: ")
outfile=raw_input("Entre com o nome para o arquivo de saída: ")

with open(infile, "r") as in_file:
with open(outfile, "a") as out_file:
for word in in_file:
for char in word:
if char==" ":
char=','
elif char=='\n':
char='x'

out_file.write(char)


out_file.write('\n')


edit: Além disso tem certeza que seus arquivos estão do jeito que você colocou lá encima?



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts