In [1]:
%matplotlib inline

In [2]:
import datetime, time
import lxml

In [3]:
import pandas as pd
import requests
from bs4 import BeautifulSoup

In [ ]:


In [4]:
seqs = pd.read_csv("../data/sequential_id.csv")

In [5]:
seqs['name'] = seqs.name.str.upper()
seqs['name'] = seqs.name.replace('AURÉLIO NOMURA', 'AURELIO NOMURA')
seqs['name'] = seqs.name.replace('CAIO MIRANDA CARNEIRO', 'CAIO MIRANDA')
seqs['name'] = seqs.name.replace('ANTONIO DONATO', 'DONATO')
seqs['name'] = seqs.name.replace('EDUARDO SUPLICY', 'EDUARDO MATARAZZO SUPLICY') 
seqs['name'] = seqs.name.replace('MARIO COVAS NETO', 'MÁRIO COVAS NETO')
seqs['name'] = seqs.name.replace('REGINALDO TRIPOLI', 'REGINALDO TRÍPOLI')
seqs['name'] = seqs.name.replace('ZÉ TURIN', 'ZÉ TURIM')

In [ ]:


In [13]:
xmls = [] 
xmls.append('https://sisgvarmazenamento.blob.core.windows.net/prd/PublicacaoPortal/Arquivos/201708.xml')

In [14]:
lista_gastos=[]
for link in xmls:
    r = requests.get(link)
    xml = BeautifulSoup(r.content, 'xml')
    gastos = xml.find_all('TabelaPortalITEMREEMBOLSO')
    for s in gastos:
        chave = s.Chave.text
        centro_custos = s.CENTROCUSTOSID.text
        departamento = s.DEPARTAMENTO.text
        tipodep = s.TIPODEDEPARTAMENTO
        vereador = s.VEREADOR.text
        ano = s.ANO.text
        mes = s.MES.text
        despesa = s.DESPESA.text
        cnpj = s.CNPJ.text
        fornecedor = s.FORNECEDOR.text
        valor = s.VALOR.text
        data = datetime.date(int(ano), int(mes), 1)

        dict_gastos = {'DATA': data, 'Chave':chave, 'CENTROCUSTOSID': centro_custos, 'DEPARTAMENTO': departamento, 
                'TIPO_DEPARTAMENTO':tipodep, 'VEREADOR': vereador, 'DESPESA':despesa, 'CNPJ': cnpj, 
                       'FORNECEDOR': fornecedor, 'VALOR': valor}
        lista_gastos.append(dict_gastos)

In [ ]:
lista_gastos

In [16]:
df = pd.DataFrame().from_records(lista_gastos)

In [17]:
df


Out[17]:
CENTROCUSTOSID CNPJ Chave DATA DEPARTAMENTO DESPESA FORNECEDOR TIPO_DEPARTAMENTO VALOR VEREADOR
0 222 43.900.851/0001-01 1222 2017-01-01 GABINETE DE VEREADOR COMBUSTIVEL PROTOTIPO AUTO POSTO LTDA. None 880.00 ABOU ANNI
1 222 50.176.288/0001-28 1222 2017-01-01 GABINETE DE VEREADOR INTERMEDIADO - CORREIOS CAMARA MUNICIPAL DE SÃO PAULO None 5993.27 ABOU ANNI
2 222 06.226.820/0001-82 1222 2017-01-01 GABINETE DE VEREADOR MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... CENTER PAPEIS COMERCIAL LTDA. None 219.45 ABOU ANNI
3 222 02.558.157/0001-62 1222 2017-01-01 GABINETE DE VEREADOR TELEFONE MOVEL TELEFONICA BRASIL S/A None 266.10 ABOU ANNI
4 222 18.811.994/0001-91 1222 2017-02-01 GABINETE DE VEREADOR COMBUSTIVEL POSTO DE SERVIÇOS 23 DE MAIO LTDA. None 150.00 ABOU ANNI
5 222 43.900.851/0001-01 1222 2017-02-01 GABINETE DE VEREADOR COMBUSTIVEL PROTOTIPO AUTO POSTO LTDA. None 600.00 ABOU ANNI
6 222 50.176.288/0001-28 1222 2017-02-01 GABINETE DE VEREADOR INTERMEDIADO - CORREIOS CAMARA MUNICIPAL DE SÃO PAULO None 6053.87 ABOU ANNI
7 222 10.376.277/0001-77 1222 2017-02-01 GABINETE DE VEREADOR MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... IRISARA COMÉRCIO E SERVIÇOS LTDA. None 1099.00 ABOU ANNI
8 222 02.558.157/0001-62 1222 2017-02-01 GABINETE DE VEREADOR TELEFONE MOVEL TELEFONICA BRASIL S/A None 197.35 ABOU ANNI
9 222 18.811.994/0001-91 1222 2017-03-01 GABINETE DE VEREADOR COMBUSTIVEL POSTO DE SERVIÇOS 23 DE MAIO LTDA. None 420.00 ABOU ANNI
10 222 43.900.851/0001-01 1222 2017-03-01 GABINETE DE VEREADOR COMBUSTIVEL PROTOTIPO AUTO POSTO LTDA. None 600.27 ABOU ANNI
11 222 61.990.693/0001-00 1222 2017-03-01 GABINETE DE VEREADOR COMBUSTIVEL AUTO POSTO PIRAI LTDA. None 300.00 ABOU ANNI
12 222 18.588.528/0001-99 1222 2017-03-01 GABINETE DE VEREADOR COMPOSIÇÃO/ARTE/DIAGRAMAÇÃO/PRODUÇÃO/IMPRESSAO... ARTE LU E RO GRAFICA EIRELI None 980.00 ABOU ANNI
13 222 50.176.288/0001-28 1222 2017-03-01 GABINETE DE VEREADOR INTERMEDIADO - CORREIOS CAMARA MUNICIPAL DE SÃO PAULO None 6812.95 ABOU ANNI
14 222 06.226.820/0001-82 1222 2017-03-01 GABINETE DE VEREADOR MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... CENTER PAPEIS COMERCIAL LTDA. None 253.35 ABOU ANNI
15 222 19.367.661/0001-88 1222 2017-03-01 GABINETE DE VEREADOR MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... K2G SUPRIMENTOS DE IMPRESSÃO E INFORMATICA EIR... None 560.00 ABOU ANNI
16 222 02.558.157/0001-62 1222 2017-03-01 GABINETE DE VEREADOR TELEFONE MOVEL TELEFONICA BRASIL S/A None 195.39 ABOU ANNI
17 222 18.811.994/0001-91 1222 2017-04-01 GABINETE DE VEREADOR COMBUSTIVEL POSTO DE SERVIÇOS 23 DE MAIO LTDA. None 950.00 ABOU ANNI
18 222 18.588.528/0001-99 1222 2017-04-01 GABINETE DE VEREADOR COMPOSIÇÃO/ARTE/DIAGRAMAÇÃO/PRODUÇÃO/IMPRESSAO... ARTE LU E RO GRAFICA EIRELI None 5072.00 ABOU ANNI
19 222 50.176.288/0001-28 1222 2017-04-01 GABINETE DE VEREADOR INTERMEDIADO - CORREIOS CAMARA MUNICIPAL DE SÃO PAULO None 6483.32 ABOU ANNI
20 222 67.933.200/0001-78 1222 2017-04-01 GABINETE DE VEREADOR MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... ITALIVROS - LIVRARIA E PAPELARIA LTDA. None 7580.00 ABOU ANNI
21 222 02.558.157/0001-62 1222 2017-04-01 GABINETE DE VEREADOR TELEFONE MOVEL TELEFONICA BRASIL S/A None 196.35 ABOU ANNI
22 222 18.811.994/0001-91 1222 2017-05-01 GABINETE DE VEREADOR COMBUSTIVEL POSTO DE SERVIÇOS 23 DE MAIO LTDA. None 1050.00 ABOU ANNI
23 222 61.990.693/0001-00 1222 2017-05-01 GABINETE DE VEREADOR COMBUSTIVEL AUTO POSTO PIRAI LTDA. None 155.51 ABOU ANNI
24 222 18.588.528/0001-99 1222 2017-05-01 GABINETE DE VEREADOR COMPOSIÇÃO/ARTE/DIAGRAMAÇÃO/PRODUÇÃO/IMPRESSAO... ARTE LU E RO GRAFICA EIRELI None 7840.00 ABOU ANNI
25 222 50.176.288/0001-28 1222 2017-05-01 GABINETE DE VEREADOR INTERMEDIADO - CORREIOS CAMARA MUNICIPAL DE SÃO PAULO None 18220.48 ABOU ANNI
26 222 06.226.820/0001-82 1222 2017-05-01 GABINETE DE VEREADOR MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... CENTER PAPEIS COMERCIAL LTDA. None 656.35 ABOU ANNI
27 222 19.367.661/0001-88 1222 2017-05-01 GABINETE DE VEREADOR MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... K2G SUPRIMENTOS DE IMPRESSÃO E INFORMATICA EIR... None 2187.00 ABOU ANNI
28 222 43.283.811/0139-95 1222 2017-05-01 GABINETE DE VEREADOR MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... KALUNGA COMÉRCIO INDUSTRIA GRÁFICA LTDA None 73.50 ABOU ANNI
29 222 02.558.157/0001-62 1222 2017-05-01 GABINETE DE VEREADOR TELEFONE MOVEL TELEFONICA BRASIL S/A None 197.69 ABOU ANNI
... ... ... ... ... ... ... ... ... ... ...
3506 1233 03.476.115/0001-45 21233 2017-05-01 Liderança PT COMPOSIÇÃO/ARTE/DIAGRAMAÇÃO/PRODUÇÃO/IMPRESSAO... LILIAN CAVALCANTI BITENCOURT DANIEL - ME None 2750.00 Liderança PT
3507 1233 22.392.165/0001-99 21233 2017-05-01 Liderança PT LOCAÇÃO DE MOVEIS E EQUIPAMENTOS ATTBRASIL TECNOLOGIA LOCAÇÃO E SOLUÇÕES EM INF... None 1475.00 Liderança PT
3508 1233 69.064.053/0001-72 21233 2017-05-01 Liderança PT LOCAÇÃO DE MOVEIS E EQUIPAMENTOS SINALL COM E SERV DE MÁQUINAS LTDA None 2358.83 Liderança PT
3509 1233 06.226.820/0001-82 21233 2017-05-01 Liderança PT MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... CENTER PAPEIS COMERCIAL LTDA. None 1301.15 Liderança PT
3510 1233 25.321.968/0001-40 21233 2017-05-01 Liderança PT MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... NOVA VIDA PAPELARIA E COLETOR DIGITAL LTDA ME None 165.00 Liderança PT
3511 1233 14.491.962/0001-03 21233 2017-06-01 Liderança PT CONTRATAÇAO DE PESSOA JURIDICA STACY NATALIE TORRES DA SILVA - ME None 5000.00 Liderança PT
3512 1233 22.392.165/0001-99 21233 2017-06-01 Liderança PT LOCAÇÃO DE MOVEIS E EQUIPAMENTOS ATTBRASIL TECNOLOGIA LOCAÇÃO E SOLUÇÕES EM INF... None 1475.00 Liderança PT
3513 1233 69.064.053/0001-72 21233 2017-06-01 Liderança PT LOCAÇÃO DE MOVEIS E EQUIPAMENTOS SINALL COM E SERV DE MÁQUINAS LTDA None 2320.00 Liderança PT
3514 1233 06.226.820/0001-82 21233 2017-06-01 Liderança PT MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... CENTER PAPEIS COMERCIAL LTDA. None 1158.65 Liderança PT
3515 1233 03.476.115/0001-45 21233 2017-07-01 Liderança PT COMPOSIÇÃO/ARTE/DIAGRAMAÇÃO/PRODUÇÃO/IMPRESSAO... LILIAN CAVALCANTI BITENCOURT DANIEL - ME None 800.00 Liderança PT
3516 1233 18.547.198/0001-93 21233 2017-07-01 Liderança PT COMPOSIÇÃO/ARTE/DIAGRAMAÇÃO/PRODUÇÃO/IMPRESSAO... JULIETA FIALHO None 1500.00 Liderança PT
3517 1233 19.449.778/0001-00 21233 2017-07-01 Liderança PT ELABORAÇÃO/MANUTENÇAO DE SITE/HOSPEDAGEM DANIEL BRYAN CASTILHO GOMES None 1000.00 Liderança PT
3518 1233 60.330.255/0001-44 21233 2017-07-01 Liderança PT EVENTOS/SEMINARIOS PAULISTA FOTOACABAMENTO EIRELI ME None 1951.70 Liderança PT
3519 1233 61.365.284/0107-62 21233 2017-07-01 Liderança PT LIVROS SARAIVA E SICILIANO S/A None 448.00 Liderança PT
3520 1233 22.392.165/0001-99 21233 2017-07-01 Liderança PT LOCAÇÃO DE MOVEIS E EQUIPAMENTOS ATTBRASIL TECNOLOGIA LOCAÇÃO E SOLUÇÕES EM INF... None 1475.00 Liderança PT
3521 1233 69.064.053/0001-72 21233 2017-07-01 Liderança PT LOCAÇÃO DE MOVEIS E EQUIPAMENTOS SINALL COM E SERV DE MÁQUINAS LTDA None 2615.90 Liderança PT
3522 1233 18.547.198/0001-93 21233 2017-08-01 Liderança PT COMPOSIÇÃO/ARTE/DIAGRAMAÇÃO/PRODUÇÃO/IMPRESSAO... JULIETA FIALHO None 300.00 Liderança PT
3523 1233 14.491.962/0001-03 21233 2017-08-01 Liderança PT CONTRATAÇAO DE PESSOA JURIDICA STACY NATALIE TORRES DA SILVA - ME None 5000.00 Liderança PT
3524 1233 09.001.036/0001-64 21233 2017-08-01 Liderança PT ELABORAÇÃO/MANUTENÇAO DE SITE/HOSPEDAGEM CRIAGRAPHY DESING E WEBDESING LTDA ME None 1500.00 Liderança PT
3525 1233 14.379.227/0001-02 21233 2017-08-01 Liderança PT EVENTOS/SEMINARIOS MONICA PATRICIA ALVES PEREIRA None 550.00 Liderança PT
3526 1233 22.392.165/0001-99 21233 2017-08-01 Liderança PT LOCAÇÃO DE MOVEIS E EQUIPAMENTOS ATTBRASIL TECNOLOGIA LOCAÇÃO E SOLUÇÕES EM INF... None 1475.00 Liderança PT
3527 1233 69.064.053/0001-72 21233 2017-08-01 Liderança PT LOCAÇÃO DE MOVEIS E EQUIPAMENTOS SINALL COM E SERV DE MÁQUINAS LTDA None 2320.00 Liderança PT
3528 1233 06.226.820/0001-82 21233 2017-08-01 Liderança PT MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... CENTER PAPEIS COMERCIAL LTDA. None 2161.80 Liderança PT
3529 1234 50.176.288/0001-28 21234 2017-02-01 Liderança PTB INTERMEDIADO - CORREIOS CAMARA MUNICIPAL DE SÃO PAULO None 2263.20 Liderança PTB
3530 1448 10.376.277/0001-77 21448 2017-01-01 Liderança PTN MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... IRISARA COMÉRCIO E SERVIÇOS LTDA. None 730.00 Liderança PTN
3531 1448 09.387.743/0001-30 21448 2017-03-01 Liderança PTN CONTRATAÇAO DE PESSOA JURIDICA PRIMEIRO PONTO COMUNICAÇÃO LIMITADA None 2900.00 Liderança PTN
3532 1448 62.067.384/0001-17 21448 2017-03-01 Liderança PTN MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... PAPELARIA ESTADÃO LTDA. None 258.90 Liderança PTN
3533 1448 10.376.277/0001-77 21448 2017-03-01 Liderança PTN REPROGRAFIA (XEROX/ENCADERNAÇÃO) IRISARA COMÉRCIO E SERVIÇOS LTDA. None 422.40 Liderança PTN
3534 1448 00.398.178/0001-32 21448 2017-04-01 Liderança PTN COMPOSIÇÃO/ARTE/DIAGRAMAÇÃO/PRODUÇÃO/IMPRESSAO... SYNAPSYS EDITORA E GRAFICA LTDA ME None 2500.00 Liderança PTN
3535 1448 50.176.288/0001-28 21448 2017-05-01 Liderança PTN INTERMEDIADO - REPROGRAFIA (XEROX/ENCADERNAÇÃO) CAMARA MUNICIPAL DE SÃO PAULO None 11.34 Liderança PTN

3536 rows × 10 columns


In [18]:
df = df[['DATA', 'VEREADOR', 'DEPARTAMENTO', 'DESPESA', 'VALOR', 'FORNECEDOR', 'CNPJ']]
df[['DATA']] = df[['DATA']].apply(pd.to_datetime)
df[['VALOR']] = df[['VALOR']].apply(pd.to_numeric)


/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/core/frame.py:2440: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  self[k1] = value[k2]

In [19]:
df = pd.merge(df, seqs, how='left', left_on='VEREADOR', right_on='name')

In [20]:
df = df.drop(['VEREADOR', 'name'], axis=1)

In [21]:
df = df[df.sequential_id.notnull()]

In [22]:
df = df.rename(columns={
    'DATA': 'date', 
    'VEREADOR': 'candidate',
    'DEPARTAMENTO': 'department', 
    'DESPESA': 'expense',
    'VALOR': 'value', 
    'FORNECEDOR': 'provider', 
    'CNPJ': 'cnpj',
})

In [23]:
df.tail()


Out[23]:
date department expense value provider cnpj sequential_id
3255 2017-08-01 GABINETE DE VEREADOR COMPOSIÇÃO/ARTE/DIAGRAMAÇÃO/PRODUÇÃO/IMPRESSAO... 6969.00 FORMA CERTA GRAFICA DIGITAL LTDA 07.691.829/0001-27 2.500000e+11
3256 2017-08-01 GABINETE DE VEREADOR CONTRATAÇAO DE PESSOA JURIDICA 3550.00 WILQ VICENTE DOS SANTOS -ME 18.152.664/0001-31 2.500000e+11
3257 2017-08-01 GABINETE DE VEREADOR MATERIAL DE ESCRITORIO E OUTROS MATERIAIS DE C... 2426.55 CENTER PAPEIS COMERCIAL LTDA. 06.226.820/0001-82 2.500000e+11
3258 2017-08-01 GABINETE DE VEREADOR TELEFONE FIXO 169.06 TELEFONICA BRASIL S/A 02.558.157/0001-62 2.500000e+11
3259 2017-08-01 GABINETE DE VEREADOR TELEFONE MOVEL 194.97 OI MÓVEL S.A. 05.423.963/0026-70 2.500000e+11

In [25]:
df.to_csv("../data/expenses.csv", index=False)

In [ ]:


In [ ]: