Esse exemplo junta os exemplos 1 e 2, usando o pacote csv do Python conforme a orientação do Adam Brandizzi, no exemplo 2.
""" Le um arquivo delimitado e mostra os campos na tela. """
import csv
print __doc__
f = csv.reader(open('fones.txt'), delimiter=';')
for [nome,nasc,fone] in f:
print 'nome=%s | nasc=%s | fone=%s' % (nome,nasc,fone)
print f.line_num, 'linhas lidas'
print '--- fim'
Vamos analisar o programa:
- Linha 2: importa o pacote csv necessário. Visite o link e veja alguns exemplos.
- Linha 4: veja a docstring. (Use-a sempre!).
- Linha 5: usa o método
csv.reader(), dizendo que o arquivo é delimitado por ponto-e-vírgula. - Linha 6: (o pulo do gato!) a iteração no retorno do
csv.reader()retorna sempre uma lista. Portanto, eu disse ao iterator que queria jogar o resultado nas variáveisnome,nascefone. - Linha 7: mostrando o conteúdo formatado.
- Linha 9: veja que temos um contador automático! :-D
Esse exemplo usa o mesmo arquivo de dados do exemplo 1. Portanto, o conteúdo do campo
nome terá brancos à direita. Se você estiver aprendendo Python como eu, tente alterar esse programa para mostrá-lo sem os brancos à direita, ok? ;-)Tenta aí e conte como você fez.
Contribua se você tem alguma informação adicional sobre esse assunto ou se encontrou um erro nesse programa. Afinal, ninguém é perfeito, né?
Comente também se esse exemplo ajudou a você de alguma forma. É gratificante saber. :-)
Não deixe de avisar se você encontrou alguma falha de iniciante que precisa corrigir ou melhorar, pois estou aprendendo. Isso ajuda bastante.
Abraço.
Coloquei o link do seu blog na seção de links do vivaotux (meu blog).
ResponderExcluirhttp://vivaotux.blogspot.com
Há, suas dicas estão sendo devidamente anotadas, valeu pelo excelente trabalho.
Ô Sérgio, que bom que o blog está ajudando de alguma forma. :-)
ResponderExcluirEu também tô aproveitando prá caramba os materiais que tenho linkado.
Abraço.
Vinicius Assef.