Consultar MySQL/PostgreSQL e salvar em CSV

O script em Python a seguir permite consultar um banco de dados MySQL e gravar localmente um arquivo contendo a saída da exceção da query em um arquivo separado por vírgulas (CSV). Além do Python em si, é necessária a instalação do módulo MySQLdb, o que pode ser feito através do comando “sudo apt-get install python-mysqldb”.

A query usada serve para pegar o total de uma variável somando por cidade. Caso dê um erro do tipo “Host ‘SEU_IP’ is not allowed to connect to this MySQL server”, será preciso criar um usuário no MySQL do servidor e permitir o acesso à base de dados – veja mais no post sobre Banco de dados MySQL.

Caso seja um banco em PostgreSQL, o módulo a ser usado é o Psycopg. O script recebe um argumento de identificação qualquer (tipo) e o nome da tabela (table_name), monta a query para ser executada e grava um arquivo com a tabela extraída.

A query executada retorna todas as colunas cujas linhas possuam ano maior ou igual a 2001. Ao gravar o arquivo de saída, linha por linha, o valor de mês é acertado para sempre ter dois dígitos (com zero à esquerda quando for o caso). Veja mais sobre PostgreSQL clicando no link.