{ "metadata": { "name": "", "signature": "sha256:3dac15dfe811bd1bc0efb973fb60c6a3a572af2008b5645bf14737bc61cfb9ce" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "import pandas as pd\n", "from collections import defaultdict" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "An\u00e1lise dos dados de Planejamento" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Peguei as tr\u00eas planilhas relativas ao planejamento das p\u00e1ginas:\n", "\n", "* LOA (Or\u00e7amento Aprovado) - http://sempla.prefeitura.sp.gov.br/orcamento/loa.html\n", "* Proposta Or\u00e7ament\u00e1ria (Projeto de Lei e quadro detalhado) - http://sempla.prefeitura.sp.gov.br/orcamento/proposta.html\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "!pip install xlrd" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Downloading/unpacking xlrd\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " Downloading xlrd-0.9.3.tar.gz (178kB): \r", " Downloading xlrd-0.9.3.tar.gz (178kB): 2% 4.1kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 4% 8.2kB" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 6% 12kB \r", " Downloading xlrd-0.9.3.tar.gz (178kB): 9% 16kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 11% 20kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 13% 24kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 16% 28kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 18% 32kB" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 20% 36kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 22% 40kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 25% 45kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 27% 49kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 29% 53kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 32% 57kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 34% 61kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 36% 65kB" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 39% 69kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 41% 73kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 43% 77kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 45% 81kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 48% 86kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 50% 90kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 52% 94kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 55% 98kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 57% 102kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 59% 106kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 61% 110kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 64% 114kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 66% 118kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 68% 122kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 71% 126kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 73% 131kB" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 75% 135kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 78% 139kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 80% 143kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 82% 147kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 84% 151kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 87% 155kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 89% 159kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 91% 163kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 94% 167kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 96% 172kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 98% 176kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): 100% 178kB\r", " Downloading xlrd-0.9.3.tar.gz (178kB): \r", " Downloading xlrd-0.9.3.tar.gz (178kB): 178kB downloaded\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " Running setup.py (path:/home/everton/.virtualenvs/ga/build/xlrd/setup.py) egg_info for package xlrd\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " \r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Installing collected packages: xlrd\r\n", " Running setup.py install for xlrd\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " changing mode of build/scripts-2.7/runxlrd.py from 664 to 775\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " \r\n", " changing mode of /home/everton/.virtualenvs/ga/bin/runxlrd.py to 775\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Successfully installed xlrd\r\n", "Cleaning up...\r\n" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "projeto_de_lei = pd.read_excel('../Orcamento/2015/Proposta/PLOA467BaseDados.xls')\n", "quadro_detalhado = pd.read_excel('../Orcamento/2015/Proposta/PLOA467BaseDadosQuadroDetalhadoDaAcao.xls')\n", "loa = pd.read_excel('../Orcamento/2014/LOA/OrcamentoAprovado2014.xls')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparando Projeto de Lei e Quadro Detalhado\n", "\n", "A primeira coisa que d\u00e1 pra notar \u00e9 que ambos possuem v\u00e1rias colunas diferentes:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "quadro_detalhado.columns - projeto_de_lei.columns" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "/home/everton/.virtualenvs/ga/local/lib/python2.7/site-packages/pandas-0.15.2-py2.7-linux-x86_64.egg/pandas/core/index.py:1172: FutureWarning: using '-' to provide set differences with Indexes is deprecated, use .difference()\n", " \"use .difference()\",FutureWarning)\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "Index([u'ANO_EX', u'COD_COMPLT_DA', u'COD_DA', u'COD_DISTRITO', u'COD_EMP', u'COD_META', u'COD_REGIAO', u'COD_SUBPREFEITURA', u'DESC_DA', u'DESC_DISTRITO', u'DESC_META', u'DESC_ORGAO', u'DESC_PA', u'DESC_REGIAO', u'DESC_SUBPREFEITURA', u'DESC_UNIDADE', u'NOME_EMP', u'ORGAO', u'UNIDADE', u'VALOR_DA'], dtype='object')" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "projeto_de_lei.columns - quadro_detalhado.columns" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "Index([u'Administracao', u'Categoria_Despesa', u'Cd_Despesa', u'Cd_Dotac_Id', u'Cd_Elemento', u'Cd_Exerc_Empresa_Id', u'Cd_Exercicio', u'Cd_Fonte', u'Cd_Funcao', u'Cd_Modalidade', u'Cd_Orgao', u'Cd_Programa', u'Cd_Projeto_Atividade', u'Cd_SubFuncao', u'Cd_Unidade', u'DataExtracao', u'Ds_Categoria', u'Ds_Despesa', u'Ds_Fonte', u'Ds_Funcao', u'Ds_Grupo', u'Ds_Modalidade', u'Ds_Orgao', u'Ds_Programa', u'Ds_Projeto_Atividade', u'Ds_SubFuncao', u'Ds_Unidade', u'Grupo_Despesa', u'PAPA', u'Poder', u'ProjetoAtividade', u'Sld_Orcado_Ano', u'Tp_Projeto_Atividade'], dtype='object')" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Outra quest\u00e3o \u00e9 a diferen\u00e7a no n\u00famero de linhas de cada planilha:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print(\"PLOA467BaseDados.xls => {} linhas\".format(len(projeto_de_lei)))\n", "print(\"PLOA467BaseDadosQuadroDetalhadoDaAcao.xls => {} linhas\".format(len(quadro_detalhado)))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "PLOA467BaseDados.xls => 2799 linhas\n", "PLOA467BaseDadosQuadroDetalhadoDaAcao.xls => 1784 linhas\n" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Apesar do quadro detalhado possuir mais de 1000 linhas a menos, ele possui informa\u00e7\u00f5es mais espec\u00edficas em termos regionais. \n", "Por exemplo, na planilha \"PLOA467BaseDados.xls\" existem apenas 4 linhas referentes a constru\u00e7\u00e3o de CEI's em 2015, mas o arquivo do quadro detalhado \"PLOA467BaseDadosQuadroDetalhadoDaAcao.xls\" possui 89.\n", "\n", "O melhor desse exemplo \u00e9 que no quadro detalhado possui o quanto est\u00e1 indo pra cada CEI em uma determinada subprefeitura. Ach\u00e1vamos antes que esse tipo de informa\u00e7\u00e3o n\u00e3o existia, mas pelo que vi agora talvez o problema n\u00e3o seja t\u00e3o grave.\n", "\n", "Mas ainda precisamos descobrir porque existem menos linhas no quadro detalhado." ] }, { "cell_type": "code", "collapsed": false, "input": [ "total_cei = projeto_de_lei[projeto_de_lei['ProjetoAtividade'] == 3359]['Sld_Orcado_Ano'].sum()\n", "print(\"R$ {:,.2f}\".format(total_cei))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "R$ 231,586,768.00\n" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "\"{} linhas sobre o CEI\".format(len(projeto_de_lei[projeto_de_lei['ProjetoAtividade'] == 3359]))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 60, "text": [ "'4 linhas sobre o CEI'" ] } ], "prompt_number": 60 }, { "cell_type": "code", "collapsed": false, "input": [ "total_detalhado_cei = quadro_detalhado[quadro_detalhado['PA'] == 3359]['VALOR_DA'].sum()\n", "print(\"R$ {:,.2f}\".format(total_detalhado_cei))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "R$ 231,586,768.00\n" ] } ], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "projeto_de_lei[projeto_de_lei['ProjetoAtividade'] == 3359]['Ds_Projeto_Atividade']" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 69, "text": [ "432 Constru\u00e7\u00e3o de Centros de Educa\u00e7\u00e3o Infantil - CEI\n", "433 Constru\u00e7\u00e3o de Centros de Educa\u00e7\u00e3o Infantil - CEI\n", "434 Constru\u00e7\u00e3o de Centros de Educa\u00e7\u00e3o Infantil - CEI\n", "435 Constru\u00e7\u00e3o de Centros de Educa\u00e7\u00e3o Infantil - CEI\n", "Name: Ds_Projeto_Atividade, dtype: object" ] } ], "prompt_number": 69 }, { "cell_type": "code", "collapsed": false, "input": [ "loa[loa['ProjetoAtividade'] == 3359].groupby('Ds_Orgao')['Sld_Orcado_Ano'].sum()\n", "loa.columns" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 94, "text": [ "Index([u'Cd_Exercicio', u'Administracao', u'Cd_Orgao', u'Ds_Orgao', u'Cd_Unidade', u'Ds_Unidade', u'Cd_Funcao', u'Ds_Funcao', u'Cd_SubFuncao', u'Ds_SubFuncao', u'Cd_Programa', u'Ds_Programa', u'PAPA', u'ProjetoAtividade', u'Ds_Projeto_Atividade', u'Cd_Despesa', u'Ds_Despesa', u'Categoria_Despesa', u'Ds_Categoria', u'Grupo_Despesa', u'Ds_Grupo', u'Cd_Modalidade', u'Ds_Modalidade', u'Cd_Elemento', u'Cd_Fonte', u'Ds_Fonte', u'Sld_Orcado_Ano', u'DataExtracao'], dtype='object')" ] } ], "prompt_number": 94 }, { "cell_type": "code", "collapsed": false, "input": [ "quadro_detalhado[quadro_detalhado['PA'] == 3359].groupby('DESC_SUBPREFEITURA')['VALOR_DA'].sum()\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 93, "text": [ "DESC_SUBPREFEITURA\n", "A Definir 60763344\n", "Subprefeitura Aricanduva/Formosa/Carr\u00e3o 2288784\n", "Subprefeitura Butant\u00e3 14306272\n", "Subprefeitura Campo Limpo 14599056\n", "Subprefeitura Capela do Socorro 27331760\n", "Subprefeitura Casa Verde/Cachoeirinha 1288784\n", "Subprefeitura Cidade Ademar 3577568\n", "Subprefeitura Cidade Tiradentes 1288784\n", "Subprefeitura Ermelino Matarazzo 2288784\n", "Subprefeitura Freguesia/Brasil\u00e2ndia 2288784\n", "Subprefeitura Guaianases 2288784\n", "Subprefeitura Ipiranga 5866352\n", "Subprefeitura Itaim Paulista 9151136\n", "Subprefeitura Itaquera 15021488\n", "Subprefeitura Ja\u00e7an\u00e3/Trememb\u00e9 12021488\n", "Subprefeitura Mo\u00f3ca 2288784\n", "Subprefeitura M\u00b4Boi Mirim 10021488\n", "Subprefeitura Parelheiros 4577568\n", "Subprefeitura Penha 1288784\n", "Subprefeitura Perus 4577568\n", "Subprefeitura Pirituba/Jaragu\u00e1 11155136\n", "Subprefeitura S\u00e3o Mateus 12443920\n", "Subprefeitura S\u00e3o Miguel 10862352\n", "Name: VALOR_DA, dtype: float64" ] } ], "prompt_number": 93 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Histograma de atividades" ] }, { "cell_type": "code", "collapsed": false, "input": [ "cod_atividade = set(projeto_de_lei['ProjetoAtividade'])\n", "cod_atividade_detalhado = set(quadro_detalhado['PA'])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "O n\u00famero de atividade em cada planilha n\u00e3o difere em quantidade:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "len(cod_atividade - cod_atividade_detalhado)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ "0" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "len(cod_atividade), len(cod_atividade_detalhado)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "(313, 313)" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "hist_atividades = defaultdict(int)\n", "\n", "for pa in cod_atividade:\n", " for l in projeto_de_lei[projeto_de_lei['ProjetoAtividade'] == pa].iterrows():\n", " hist_atividades[pa] += 1" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "hist_atividades_detalhado = defaultdict(int)\n", "\n", "for pa in cod_atividade_detalhado:\n", " for l in quadro_detalhado[quadro_detalhado['PA'] == pa].iterrows():\n", " hist_atividades_detalhado[pa] += 1" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "No entanto diferem em detalhamento. Como citei no caso do CEI acima, no quadro detalhado existe o detalhamento por subprefeitur, enquanto na planilha do projeto de lei exixte apenas entradas totalizadoras. No entanto se formos comparar os histogramas abaixo veremos que em certos casos as atividades est\u00e3o mais detalhas no arquivo do projeto de lei:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "diff_hists = {pa: hist_atividades_detalhado[pa] - hist_atividades[pa] for pa in cod_atividade}\n", "\n", "print(\"{} atividade mais detalhas em PLOA467BaseDados.xls\".format(len(diff_hists.values()) - len(filter(lambda x: x < 0, diff_hists.values()))))\n", "print(\"{} atividade com mesmo n\u00famero de linhas em ambas planilhas\".format(len(diff_hists.values()) - len(filter(lambda x: x == 0, diff_hists.values()))))\n", "print(\"{} atividade mais detalhas em PLOA467BaseDadosQuadroDetalhadoDaAcao.xls\".format(len(diff_hists.values()) - len(filter(lambda x: x > 0, diff_hists.values()))))\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "150 atividade mais detalhas em PLOA467BaseDados.xls\n", "209 atividade com mesmo n\u00famero de linhas em ambas planilhas\n", "267 atividade mais detalhas em PLOA467BaseDadosQuadroDetalhadoDaAcao.xls\n" ] } ], "prompt_number": 19 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exemplo de atividad emais detalhada na planilha PLOA467BaseDados.xls" ] }, { "cell_type": "code", "collapsed": false, "input": [ "projeto_de_lei[projeto_de_lei['ProjetoAtividade'] == 4]" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", " | Cd_Dotac_Id | \n", "Cd_Exerc_Empresa_Id | \n", "Cd_Exercicio | \n", "Poder | \n", "Administracao | \n", "Cd_Orgao | \n", "Ds_Orgao | \n", "Cd_Unidade | \n", "Ds_Unidade | \n", "Cd_Funcao | \n", "... | \n", "Ds_Categoria | \n", "Grupo_Despesa | \n", "Ds_Grupo | \n", "Cd_Modalidade | \n", "Ds_Modalidade | \n", "Cd_Elemento | \n", "Cd_Fonte | \n", "Ds_Fonte | \n", "Sld_Orcado_Ano | \n", "DataExtracao | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1197 | \n", "101547 | \n", "333 | \n", "2015 | \n", "NaN | \n", "Administra\u00e7\u00e3o Direta | \n", "28 | \n", "Encargos Gerais do Munic\u00edpio | \n", "17 | \n", "Recursos Superv. pela Secretaria Municipal de ... | \n", "28 | \n", "... | \n", "Despesas Correntes | \n", "2 | \n", "JUROS E ENCARGOS DA DIVIDA | \n", "90 | \n", "Aplica\u00e7\u00f5es Diretas | \n", "21 | \n", "0 | \n", "Tesouro Municipal | \n", "67868404 | \n", "2014-09-29 18:02:01 | \n", "
1198 | \n", "101548 | \n", "333 | \n", "2015 | \n", "NaN | \n", "Administra\u00e7\u00e3o Direta | \n", "28 | \n", "Encargos Gerais do Munic\u00edpio | \n", "17 | \n", "Recursos Superv. pela Secretaria Municipal de ... | \n", "28 | \n", "... | \n", "Despesas Correntes | \n", "2 | \n", "JUROS E ENCARGOS DA DIVIDA | \n", "90 | \n", "Aplica\u00e7\u00f5es Diretas | \n", "22 | \n", "0 | \n", "Tesouro Municipal | \n", "2134045 | \n", "2014-09-29 18:02:01 | \n", "
1199 | \n", "101549 | \n", "333 | \n", "2015 | \n", "NaN | \n", "Administra\u00e7\u00e3o Direta | \n", "28 | \n", "Encargos Gerais do Munic\u00edpio | \n", "17 | \n", "Recursos Superv. pela Secretaria Municipal de ... | \n", "28 | \n", "... | \n", "Despesas de Capital | \n", "6 | \n", "AMORTIZACAO DA DIVIDA | \n", "90 | \n", "Aplica\u00e7\u00f5es Diretas | \n", "71 | \n", "0 | \n", "Tesouro Municipal | \n", "280584141 | \n", "2014-09-29 18:02:01 | \n", "
3 rows \u00d7 34 columns
\n", "\n", " | COD_COMPLT_DA | \n", "COD_META | \n", "DESC_META | \n", "COD_REGIAO | \n", "DESC_REGIAO | \n", "COD_SUBPREFEITURA | \n", "DESC_SUBPREFEITURA | \n", "COD_DISTRITO | \n", "DESC_DISTRITO | \n", "COD_DA | \n", "... | \n", "VALOR_DA | \n", "ORGAO | \n", "DESC_ORGAO | \n", "UNIDADE | \n", "DESC_UNIDADE | \n", "PA | \n", "DESC_PA | \n", "ANO_EX | \n", "COD_EMP | \n", "NOME_EMP | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
878 | \n", "201.00.00.00.001 | \n", "201 | \n", "Servi\u00e7o da D\u00edvida P\u00fablica Interna | \n", "0 | \n", "Supra-Regional | \n", "0 | \n", "Supra-Regional | \n", "0 | \n", "Supra-Distrital | \n", "1 | \n", "... | \n", "350586590 | \n", "28 | \n", "Encargos Gerais do Munic\u00edpio | \n", "17 | \n", "Recursos Superv. pela Secretaria Municipal de ... | \n", "4 | \n", "Servi\u00e7o da D\u00edvida P\u00fablica Interna | \n", "2015 | \n", "1 | \n", "PREFEITURA DO MUNIC\u00cdPIO DE S\u00c3O PAULO | \n", "
1 rows \u00d7 21 columns
\n", "