quarta-feira, 3 de agosto de 2016

Removendo espaços em branco de uma string com python

Uma função para remover espaços em branco de uma string à esquerda, direita ou totalmente em python.

Removendo todos os espaços em branco de uma string
s = "  \t a string example\t  "
s = s.strip()

Removendo os espaços à esquerda
s = s.lstrip()

Removendo os espaços à direita
s = s.rstrip()

terça-feira, 2 de agosto de 2016

Substring em Python

O python trabalha com a manipulação de strings de uma maneira muito fácil, segue alguns exemplos de como fazer isso de uma maneira muito simples.

>>> x = "Hello World!"
>>> x[2:]
'llo World!'
>>> x[:2]
'He'
>>> x[:-2]
'Hello Worl'
>>> x[-2:]
'd!'
>>> x[2:-2]
'llo Worl'

quarta-feira, 22 de junho de 2016

Convertendo dados diversos para inteiro no python

Uma das dificuldades do python para quem já está acostumado com o tryparse() do c# é converter um objeto qualquer para outro tipo porém sem ter a certeza de que o mesmo está no formato correto e que não retornará um erro, como no python não existe nativamente, segue um exemplo de script que simula o tryparse() convertendo para inteiro.

def ignore_exception(IgnoreException=Exception,DefaultVal=None):
    """ Decorator for ignoring exception from a function
    e.g.   @ignore_exception(DivideByZero)
    e.g.2. ignore_exception(DivideByZero)(Divide)(2/0)
    """
    def dec(function):
        def _dec(*args, **kwargs):
            try:
                return function(*args, **kwargs)
            except IgnoreException:
                return DefaultVal
        return _dec
    return dec

sint = ignore_exception(ValueError)(int)
print sint("Hello World") # prints none
print sint("1340") # prints 1340

terça-feira, 14 de junho de 2016

Download de um shapefile via linha de comando com ogr2ogr

Um recurso muito fácil para realizar o download de um arquivo shapefile de um banco de dados Postgres com todos seu atributos.

ogr2ogr -overwrite -skipfailures -t_srs EPSG:4326 -f 'ESRI Shapefile' {shp} PG:'host={host} user={user} dbname={db} password={key}' -sql 'SELECT * FROM {table}'


Exportando uma query do Postgres para CSV

Um recurso muito útil do Postgres é o recurso de exportar o resultado de uma query para o formato csv que pode ser lido por diversos softwares.

Copy (Select * From tabela) To '/tmp/tabela.csv' With CSV DELIMITER ';' HEADER;

terça-feira, 31 de maio de 2016

Recuperando uma data posterior em javascript

Uma função bem simples de se adicionar dias à uma data corrente e retornar a mesma em formato americano em javascript:

function getDataISO(dias)
{
var dayMonth = new Date().getDate();
dayMonth += dias;
var d = new Date();
d.setDate(dayMonth);

var day = d.getDate();
var monthIndex = d.getMonth()+1;
var year = d.getFullYear();

    //retorno já formatado de 9 para 09
    return year + '-' + (monthIndex > 9 ? monthIndex : '0' + monthIndex.toString()) + '-' + (day > 9 ? day : '0' + day.toString());
}

Calculando os valores mínimo e máximo de um array em javascript

Uma função bem simples mas que pode ser muito útil para retornar os valores mínimo e máximo de um array em javascript feita em prototype.

Mínimo:

Array.prototype.max = function() {
  return Math.max.apply(null, this);
};

Máximo:

Array.prototype.min = function() {
  return Math.min.apply(null, this);
};

Média:

function getAvg(grades) {
  return grades.reduce(function (p, c) {
  return p + c;
}) / grades.length;
}

Chamadas:

v = [1,5,8,74,9];

v.max();
v.min();
mean = getAvg(v);