segunda-feira, 18 de maio de 2015

Acentuação no Python


Recentemente, tive problemas ao fazer leitura de arquivos texto extraídos de um arquivo zipado. Obviamente, o fiz usando a função ZipFile, pelo import zipfile.

Ao fazer a leitura e inserir no banco, percebi que os caracteres especiais (aqueles acentuados) não estavam sendo lidos corretamente, retornado interrogações (?), ao invés dos próprios caracteres acentuados.

Fiz vários testes e a solução final, foi simples, como é da natureza Python...rs

Em cada linha do meu buffer, fiz um decode, usando o codec latin_1.

for line in lines:
print line.decode("latin_1")


Para saber de mais codecs, acesse a página https://docs.python.org/2/library/codecs.html

Nenhum comentário:

Postar um comentário