<jupyter_start><jupyter_text>Source - [Relação de Contratações e Compras / Lei 13.979/2020](https://www.saopaulo.sp.gov.br/coronavirus/transparencia/)<jupyter_code>valores = pd.read_csv('../data/orcamento/sp/COVID.csv',sep=';')

#Colunas que tem no portal mas n tem na tabela:  ['Fonte','Local de Entrega']
### Link Nota de Empenho
#http://siafem-appws.fazenda.sp.gov.br/ServicesSiafem/NE_PDF?UG=080358&GESTAO=00001&NE=2020NE00119

cols = ['Secretaria','Número Processo','Descrição','Nome Credor','CNPJ CPF','Descrição Processo',
        'Finalidade', 'Quantidade Item','Valor Unitário', 'Valor NE','Data Emissão',
        'Tipo Documento','Número Documento','Valor NP','Valor de Empenho no Processo']

valores = organizer(valores,cols)
valores.head(2)
processos = pd.read_csv('../data/orcamento/sp/BaseDados_SPSemPapel.csv',sep=';', encoding='iso-8859-9')

#Colunas que tem no portal mas n tem na tabela:[]
#link processo https://www.saopaulo.sp.gov.br/guia-coronavirus/assets/docs-transparencia/PCSPPRC202000428V01.pdf
#url + Número do Processo + V01.pdf

cols = ['Órgão','Número do Processo','Tipo de Processo','Descrição']

processos = organizer(processos,cols)
contratos = pd.read_csv('../data/orcamento/sp/BaseDados_IMESP.csv',sep=';', encoding='iso-8859-9')

contratos = remove_null_columns(contratos)


#Colunas que tem no portal mas n tem na tabela:[]
cols = ['secretaria','processo','modalidadedescricao','contratado','dataAssinatura',
        'dataPublicacao1','prazocontrato','tipoprazo','statusLicitacao','licitacaoLink']

contratos = organizer(contratos,cols)<jupyter_output>72 colunas 
35 com pelo menos uma informacao 
37 sem nenhuma informacao<jupyter_text>CNPJS<jupyter_code>file_name = "Relação-de-Compras-COVID19_completa_2804"

df = pd.read_csv('../data/orcamento/csv/Relação-de-Compras-COVID19_completa_2804.csv')
df['fornecedor'] = df['fornecedor'].apply(lambda x: x[:-1] if x[-1]=='.' else x).str.replace('VEDANA COM. DE PROD. E SERVIÇOS PARA SAÚDE EIRELLI-EPP','VEDANA COM. DE PRODUTOS E SERV. P/ SAUDE LTDA')

df['id'] = df['cnpj'].str.replace('.','').str.replace('-','').str.replace('/','')
df['descricao'] = df['descricao'] + '. Valor: ' +  df['valor'].astype(str)
df_values = df.groupby(by=['id','cnpj','fornecedor'], as_index=False).agg({'descricao':'\n\n'.join, 'valor':sum})
df_values = df_values.rename(columns={'cnpj':'CNPJ','valor':'valor total'})
url = f'http://compras.dados.gov.br/fornecedores/doc/fornecedor_pj/'

df_final = pd.DataFrame()
for cnpj in df['id'].unique():
    url_csv = url + f'{cnpj}.csv'

    
    try:
        dd = pd.read_csv(url_csv)
        print(url_csv)
        dd = dd.drop(columns= ['Id','CNPJ','Unidade Cadastradora','Ramo do Negócio','Porte da Empresa','CNAE Secundário','Caixa Postal','Recadastrado'])
        dd['id'] = cnpj
        
    except:
        dd = pd.DataFrame([cnpj],columns=['id'])
        
        print(cnpj, 'nao existe')

    
    df_final = pd.concat([df_final,dd],axis=0)

df_final = df_final.sort_values(by='Razão Social')

ddd = pd.merge(df_values, df_final, on='id', how='outer').sort_values(by='Razão Social').drop(columns=['id'])
ddd.to_excel('../data/orcamento/csv/lista_cnpjs.xlsx', index=False)<jupyter_output><empty_output><jupyter_text>Cidades<jupyter_code>import pandas as pd
import numpy as np


pd.options.display.max_columns = 999
pd.options.display.max_rows = 999
pd.options.display.max_colwidth = 100
import warnings
warnings.filterwarnings('ignore')

from tabula import read_pdf
import camelot

import os<jupyter_output><empty_output><jupyter_text>Fonte - [Boletim](https://www.sjc.sp.gov.br/servicos/saude/coronavirus/atos-e-despesas/)<jupyter_code>#sjc

file_name = "autorizacao-de-fornecimento-covid-ate-24042020"

dd = camelot.read_pdf(f'../data/orcamento/pdf/{file_name}.pdf', pages='all')
df = pd.DataFrame()

for i in range(len(dd)):
    df = pd.concat([df,dd[i].df], axis=0)
    
df = df.reset_index(drop=True)
cols = ['material','descricao','quantidade_af','unidade','valor_unitario','valor_total','numero_af','data','modalidade_de_compra','razao_social','unidade_orcamentaria','codigo_dotacao_orcamentaria']
df.columns = cols
df = df[df['material']!='MATERIAL']

df['valor_unitario'] = df['valor_unitario'].apply(lambda x: x.replace('R$','').replace('\n','').strip().replace('.','').replace(',','.'))
df['valor_total'] = df['valor_total'].apply(lambda x: x.replace('R$','').replace('\n','').strip().replace('.','').replace(',','.'))

df = df.replace('\n','')
df.to_csv(f'../data/orcamento/csv/sjc/{file_name}.csv', index=False)<jupyter_output><empty_output><jupyter_text>Fonte - [Boletim](http://www.osasco.sp.gov.br/portal-da-transparencia)<jupyter_code>#osasco

file_name = "autorizacao-de-fornecimento-covid-ate-24042020"

dd = camelot.read_pdf(f'../data/orcamento/pdf/{file_name}.pdf', pages='all')<jupyter_output><empty_output><jupyter_text>Taubate Fonte - [Boletim](http://leideacesso.etransparencia.com.br/taubate.prefeitura.sp/TDAPortalClient.aspx?414)<jupyter_code>df = pd.read_excel('../data/orcamento/csv/tbt/contratacoes_taubate.xlsx')

df['cnpj'] = df['Fornecedor'].apply(lambda x: x.split('(')[1].split(')')[0])
df['id'] = df['cnpj'].str.replace('.','').str.replace('-','').str.replace('/','')



df['Finalidade'] = df['Finalidade'] + '. Valor: ' +  df['Despesa Contratada (Empenhada)'].astype(str)
df_values = df.groupby(by=['id','cnpj','Fornecedor'], as_index=False).agg({'Finalidade':'\n\n'.join, 'Despesa Contratada (Empenhada)':sum})
df_values = df_values.rename(columns={'cnpj':'CNPJ','Despesa Contratada (Empenhada)':'valor total'})

url = f'http://compras.dados.gov.br/fornecedores/doc/fornecedor_pj/'

df_final = pd.DataFrame()
for cnpj in df['id'].unique():
    url_csv = url + f'{cnpj}.csv'

    
    try:
        dd = pd.read_csv(url_csv)
        print(url_csv)
        dd = dd.drop(columns= ['Id','CNPJ','Unidade Cadastradora','Ramo do Negócio','Porte da Empresa','CNAE Secundário','Caixa Postal','Recadastrado'])
        dd['id'] = cnpj
        
    except:
        dd = pd.DataFrame([cnpj],columns=['id'])
        
        print(cnpj, 'nao existe')

    
    df_final = pd.concat([df_final,dd],axis=0)

df_final = df_final.sort_values(by='Razão Social')

ddd = pd.merge(df_values, df_final, on='id', how='outer').sort_values(by='Razão Social').drop(columns=['id'])
ddd.to_excel('../data/orcamento/csv/tbt/lista_cnpjs_tbt.xlsx', index=False)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.19787930765632308, 'fraction_numerical': 0.016684858880399188, 'mean_word_length': 5.612371134020618, 'pattern_counts': {'":': 0, '<': 24, '<?xml version=': 0, '>': 24, 'https://': 3, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '282684', 'license': 'MIT', 'n_tokens_mistral': 2674, 'n_tokens_neox': 2573, 'n_words': 334, 'path': 'notebooks/.ipynb_checkpoints/coronaOrcamento-checkpoint.ipynb', 'repo_name': 'd116626/covid', 'size': '6413'}