All work and no play makes Jack a dull boy

terça-feira, 29 de setembro de 2015

encurtando urls no google usando python

É bom avisar logo que é bem tranquilo de fazer.



Antes de começar, é preciso que você crie um chave da API no console do google developers. As instruções você encontra aqui.

Bem, esse é o código.

import requests
import json

api_url = 'https://www.googleapis.com/urlshortener/v1/url'
api_key = 'AIzaSyD-wgUbjlaBOORxF0mrXzeNsOOafKrnw0U'
url = '{0}?key={1}'.format(api_url, api_key)

headers = {'content-type': 'application/json'}
params = json.dumps({'longUrl': 'http://www.google.com'})

response = requests.post(url, data=params, headers=headers)

if response.ok:
print (response.json()['id'])
else:
print (response.status_code, response.reason)


Algumas notas:
- não esquecer de passar no header o content-type
- o pacote requests só da alegria
- no requests.post() não passar os parâmetros usando 'params', a chave correta é 'data' (não que você vá esquecer ou confundir, mas como eu fiz, não custa avisar).

=]


sexta-feira, 25 de setembro de 2015

Pesquisa sobre Class Based Views


Agradeço se puder preencher.


Powered by Typeform


=]

quarta-feira, 16 de setembro de 2015

extraindo colunas de csv e excel usando pandas

(ou criando subsets de dados usando pandas)



Já mostrei como é fácil ler e exportar dados de arquivo csv ou xls usando pandas, mas digamos que diante de um dataset com várias colunas, você precise isolar algumas.

Dado o seguinte:
In [1]:
import pandas as pd
In [3]:
dados = pd.read_csv('file.csv')
In [4]:
dados
Out[4]:
abcd
01234
15678

Caso você queira um range de colunas você pode:
In [5]:
dados.ix[:,1:3]
Out[5]:
bc
023
167


Caso queira separar pelo header:
In [6]:
dados[['b','d']]
Out[6]:
bd
024
168


Após isso, em ambos, caso queira os dados de uma coluna, basta usar:
In [7]:
novo = dados[['b', 'd']]
In [8]:
novo['b']
Out[8]:
0    2
1    6

=]

ps: usei o https://try.jupyter.org/ para construir esses exemplos e, lá, sempre são impressos à esquerda o número das colunas.

sexta-feira, 11 de setembro de 2015

verificando se template existe no Django

Há uma forma simples de se verificar se um template existe. Vou apresentar aqui uma forma criando um template_tag.

from django import template

register = template.Library()

@register.simple_tag
def template_exists(template_name):
    try:
        django.template.loader.get_template(template_name)
        return u"Template existe"
    except template.TemplateDoesNotExist:
        return u"Template não existe"

No template ficaria:

{% template_exists 'algumapp/nome_template.html' %}

Note que essa é a implementação mais básica para se verificar. A partir daí é possível fazer bastante coisa.

=]

sexta-feira, 4 de setembro de 2015

como instalar pygame no OSX com python 2.7

pygame

Vamos lá, instalar pygame no OSx tendo python 2.7.x como versão principal, pelo visto, rendeu uma issue movimentada no bitbucket.

Nada complicado.

Antes de instalar o pacote, é preciso cuidar das dependências. Uma instalação com brew já resolver

$ brew install sdl

sdl ou Simple DirectMedia Layer é uma biblioteca que provê uma camada de abstração de baixo nível no hardware - bem útil para jogos.

Depois disso, basta instalar apontando para o repositório:

$ pip install https://bitbucket.org/pygame/pygame/get/default.tar.gz
Aqui, caso não tenha instalado o X11, será necessário baixar e instalar XQuartz.

=]

listar todos os virtualenv com virtualenvwrapper

Para listar todos os virutalenvs que você possui, o virtualenvwrapper tem, dentre vários de seus comandos, um específico para isso:

$ lsvirtualenv

o comando possui 3 parâmetros:
-b breif ou breve. lista apenas os nomes do ambientes
-l long ou longo. é o mais verboso e, também, o default.
-h help, óbvio clássico

Aqui fica a lista de todos os comandos.

=]

terça-feira, 1 de setembro de 2015

de excel para csv com pandas em 3 linhas


Veja como é ridiculamente fácil transformar um arquivo do Excel em csv usando pandas do python
import pandas as pd
data = pd.read_excel("arquivo.xls")
data.to_csv("arquivo.csv")
simples assim.

ainda há outros parâmetros em cada um desses métodos usados, você pode:
- indicar qual 'sheet' do xls e mais
- indicar encoding, colunas, header do csv e muito mais.

Só lembre-se que, para essa operação, é necessário instalar o pacote xlrd.