Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

função FORMAT para string

Boa noite, professor preciso fazer um programa em python com as seguintes características:

  1. ler um arquivo .csv com várias linhas e cada item separada por ";"
  2. pegar esses itens lidos e colocar em determinadas posições em outro arquivo, por exemplo, o item 1 precisa estar começar na posição 100 dá linha 1.

Já consegui ler o arquivo e agora preciso saber como coloco para um string começar em determinada posição, por exemplo, quero que a string "aula" comece na posição 55; Acho que na aula você chegou a mostrar algo da FUNÇÃO "format", seria através dessa função?

3 respostas

Ronaldson,

Vc poderia dar um exemplo?

Claro, por exemplo, tenho um arquivo em ".csv" e preciso ler esse arquivo e criar um sendo que o nome comece na coluna 50, pai comece na coluna 100, cep na coluna 140 e data de nascimento na coluna 170. O arquivo ficaria mais ou menos assim:

           maria antonia       jose ribeiro
     65000000            18/04/2000

- "arquivo.csv"
nome;pai;cep;data_nascimento
maria antonia;jose ribeiro;65000000;18/04/2000

#########################################

Meu código tá até agora assim, mas creio que deva ter outra forma de fazer.
import re
codigo= '3333'
arquivo_lido = open('arquivo.csv','r')
novo_arquivo = open('arquivo_gerado.txt', 'w')
for linha in arquivo_lido:
    valores = linha.split(";")
    novo_arquivo.write("{:4}".format(codigo) +
                       "{:50}".format(valores[0]) + "{:50}".format(valores[1])
                       + '\n')
print("Arquivo criado!")
arquivo_lido.close()
novo_arquivo.close()
#########################################

solução!

usei apenas o "ljust" para dizer quantos espaços em branco iria querer.