-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
…ados a crédito de carbono e dados presentes no Sirene relacionados à Comunicação Nacional do Brasil sobre Emissões de GEE
- Loading branch information
1 parent
16175f3
commit 26aa8ad
Showing
14 changed files
with
1,181 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
import math | ||
import pandas as pd | ||
|
||
class ComunicacaoHandler: | ||
# Uma classe que lê o arquivo correspondente às emissões de Gases de Efeito Estufa (GEE) consolidadas da Comunicação Nacional do Brasil à Convenção-Quadro das Nações Unidas sobre Mudanças do Clima, transforma a tabela desejada, além de salvar o resultado em uma única tabela em arquivo csv com os dados das emissões de Gases de Efeito Estufa (GEE) consolidadas. | ||
|
||
# Atributos: | ||
# path (str): caminho até o arquivo de origem, | ||
# path_final (str): caminho até a pasta ondes os arquivos serão salvos. | ||
|
||
# Métodos: | ||
# def drop_row_by_text(self, df, text): | ||
# Exclui uma linha de um Data Frame com base no texto da sua primeira célula | ||
# def transfColInt(self, df): | ||
# Transforma todas as colunas do tipo float64 de um tabela para o tipo int 64 e retorna a tabela transformada | ||
# def generateTable(self): | ||
# Gera a tabela com os dados das emissões de Gases de Efeito Estufa (GEE) consolidadas. | ||
|
||
def __init__(self, file, path_raiz, path_final): | ||
# Construtor da classe BenHandler. | ||
# Args: | ||
# file (str): nome do arquivo de origem. | ||
# path_raiz (str): caminho até o arquivo de origem. | ||
# path_final (str): caminho até a pasta ondes os arquivos serão salvos. | ||
self.path = path_raiz + file | ||
self.path_final = path_final | ||
|
||
def transfColInt(self, df): | ||
# Transforma todas as colunas do tipo float64 de um tabela para o tipo int 64 e retorna a tabela transformada | ||
#Args: | ||
# df (DataFrame): DataFrame da tabela que será manipulada | ||
# Retorna: DataFrame | ||
for c in df.columns: | ||
if df[c].dtype == 'float64': | ||
df[c] = df[c].astype('int64') | ||
return df | ||
|
||
def drop_row_by_text(self, df, text): | ||
# Exclui uma linha de um Data Frame com base no texto da sua primeira célula | ||
# Args: | ||
# df (DataFrame): Data Frame que armazena a linha que se deseja apagar | ||
# text (str): texto que a linha a ser excluída contém | ||
# Retorna: DataFrame | ||
index_to_drop = df[df.iloc[:, 0].str.contains(text)].index | ||
df.drop(index=index_to_drop, inplace=True) | ||
return df | ||
|
||
def generateTable(self): | ||
# Gera a tabela com os dados das emissões de Gases de Efeito Estufa (GEE) consolidadas. | ||
dict_file = pd.read_excel(self.path, sheet_name=None) | ||
for k in dict_file.keys(): | ||
df = dict_file[k] | ||
i = 0 | ||
while str(df.iloc[i,0]).find("GWP-1 (SAR)") == -1: | ||
df.drop(index=df.iloc[i].name, inplace=True) | ||
df_ano = df.iloc[1:2,:] | ||
df_ano.dropna(axis=1, inplace=True) | ||
for c in df_ano.columns: | ||
if df_ano[c].dtype == 'float64': | ||
df_ano[c] = df_ano[c].astype('int64') | ||
df.dropna(inplace=True) | ||
df = self.drop_row_by_text(df, 'TOTAL') | ||
df.drop(index=df.iloc[-1].name, inplace=True) | ||
df_tot = pd.DataFrame() | ||
df_aux = df.iloc[:,0:1] | ||
i = 0 | ||
tam = df_ano.columns.size | ||
num_rows = len(df_aux) | ||
df = df.iloc[:,1:] | ||
df.iloc[:,:] = df.iloc[:,:].applymap(lambda x : math.floor(x) if (x*10 - int(x)*10) < 5 else math.ceil(x)) | ||
df = self.transfColInt(df) | ||
while i < tam: | ||
new_column_data = [df_ano.iloc[0, i]] * num_rows | ||
df_aux['Ano'] = new_column_data | ||
df_aux['Emissoes'] = df.iloc[:,0:1] | ||
df = df.iloc[:,1:] | ||
df_tot = pd.concat([df_tot, df_aux]) | ||
i += 1 | ||
cols = ["Setor", "Ano", "Emissoes"] | ||
df_tot.to_csv(self.path_final + 'Comunicao.csv', header=cols, index=False) |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,131 @@ | ||
Setor,Ano,Emissoes | ||
ENERGIA,1990,187 | ||
PROCESSOS INDUSTRIAIS,1990,52 | ||
AGROPECUÁRIA,1990,287 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),1990,792 | ||
TRATAMENTO DE RESÍDUOS,1990,28 | ||
ENERGIA,1991,193 | ||
PROCESSOS INDUSTRIAIS,1991,59 | ||
AGROPECUÁRIA,1991,295 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),1991,649 | ||
TRATAMENTO DE RESÍDUOS,1991,29 | ||
ENERGIA,1992,196 | ||
PROCESSOS INDUSTRIAIS,1992,57 | ||
AGROPECUÁRIA,1992,302 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),1992,800 | ||
TRATAMENTO DE RESÍDUOS,1992,30 | ||
ENERGIA,1993,201 | ||
PROCESSOS INDUSTRIAIS,1993,62 | ||
AGROPECUÁRIA,1993,304 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),1993,862 | ||
TRATAMENTO DE RESÍDUOS,1993,31 | ||
ENERGIA,1994,210 | ||
PROCESSOS INDUSTRIAIS,1994,62 | ||
AGROPECUÁRIA,1994,311 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),1994,862 | ||
TRATAMENTO DE RESÍDUOS,1994,32 | ||
ENERGIA,1995,225 | ||
PROCESSOS INDUSTRIAIS,1995,65 | ||
AGROPECUÁRIA,1995,317 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),1995,1931 | ||
TRATAMENTO DE RESÍDUOS,1995,33 | ||
ENERGIA,1996,242 | ||
PROCESSOS INDUSTRIAIS,1996,67 | ||
AGROPECUÁRIA,1996,303 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),1996,1259 | ||
TRATAMENTO DE RESÍDUOS,1996,34 | ||
ENERGIA,1997,257 | ||
PROCESSOS INDUSTRIAIS,1997,68 | ||
AGROPECUÁRIA,1997,310 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),1997,956 | ||
TRATAMENTO DE RESÍDUOS,1997,36 | ||
ENERGIA,1998,267 | ||
PROCESSOS INDUSTRIAIS,1998,71 | ||
AGROPECUÁRIA,1998,314 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),1998,1212 | ||
TRATAMENTO DE RESÍDUOS,1998,37 | ||
ENERGIA,1999,279 | ||
PROCESSOS INDUSTRIAIS,1999,71 | ||
AGROPECUÁRIA,1999,318 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),1999,1204 | ||
TRATAMENTO DE RESÍDUOS,1999,39 | ||
ENERGIA,2000,286 | ||
PROCESSOS INDUSTRIAIS,2000,74 | ||
AGROPECUÁRIA,2000,328 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2000,1266 | ||
TRATAMENTO DE RESÍDUOS,2000,40 | ||
ENERGIA,2001,297 | ||
PROCESSOS INDUSTRIAIS,2001,70 | ||
AGROPECUÁRIA,2001,340 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2001,1261 | ||
TRATAMENTO DE RESÍDUOS,2001,41 | ||
ENERGIA,2002,295 | ||
PROCESSOS INDUSTRIAIS,2002,74 | ||
AGROPECUÁRIA,2002,352 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2002,1478 | ||
TRATAMENTO DE RESÍDUOS,2002,43 | ||
ENERGIA,2003,290 | ||
PROCESSOS INDUSTRIAIS,2003,75 | ||
AGROPECUÁRIA,2003,373 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2003,2438 | ||
TRATAMENTO DE RESÍDUOS,2003,44 | ||
ENERGIA,2004,306 | ||
PROCESSOS INDUSTRIAIS,2004,80 | ||
AGROPECUÁRIA,2004,386 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2004,2636 | ||
TRATAMENTO DE RESÍDUOS,2004,45 | ||
ENERGIA,2005,316 | ||
PROCESSOS INDUSTRIAIS,2005,78 | ||
AGROPECUÁRIA,2005,392 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2005,1905 | ||
TRATAMENTO DE RESÍDUOS,2005,47 | ||
ENERGIA,2006,320 | ||
PROCESSOS INDUSTRIAIS,2006,80 | ||
AGROPECUÁRIA,2006,392 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2006,1486 | ||
TRATAMENTO DE RESÍDUOS,2006,48 | ||
ENERGIA,2007,334 | ||
PROCESSOS INDUSTRIAIS,2007,79 | ||
AGROPECUÁRIA,2007,384 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2007,1273 | ||
TRATAMENTO DE RESÍDUOS,2007,49 | ||
ENERGIA,2008,353 | ||
PROCESSOS INDUSTRIAIS,2008,82 | ||
AGROPECUÁRIA,2008,390 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2008,1377 | ||
TRATAMENTO DE RESÍDUOS,2008,50 | ||
ENERGIA,2009,342 | ||
PROCESSOS INDUSTRIAIS,2009,73 | ||
AGROPECUÁRIA,2009,396 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2009,421 | ||
TRATAMENTO DE RESÍDUOS,2009,51 | ||
ENERGIA,2010,375 | ||
PROCESSOS INDUSTRIAIS,2010,90 | ||
AGROPECUÁRIA,2010,407 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2010,349 | ||
TRATAMENTO DE RESÍDUOS,2010,53 | ||
ENERGIA,2011,389 | ||
PROCESSOS INDUSTRIAIS,2011,96 | ||
AGROPECUÁRIA,2011,419 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2011,283 | ||
TRATAMENTO DE RESÍDUOS,2011,56 | ||
ENERGIA,2012,422 | ||
PROCESSOS INDUSTRIAIS,2012,97 | ||
AGROPECUÁRIA,2012,415 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2012,252 | ||
TRATAMENTO DE RESÍDUOS,2012,57 | ||
ENERGIA,2013,452 | ||
PROCESSOS INDUSTRIAIS,2013,98 | ||
AGROPECUÁRIA,2013,421 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2013,391 | ||
TRATAMENTO DE RESÍDUOS,2013,61 | ||
ENERGIA,2014,475 | ||
PROCESSOS INDUSTRIAIS,2014,97 | ||
AGROPECUÁRIA,2014,426 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2014,234 | ||
TRATAMENTO DE RESÍDUOS,2014,62 | ||
ENERGIA,2015,449 | ||
PROCESSOS INDUSTRIAIS,2015,95 | ||
AGROPECUÁRIA,2015,429 | ||
MUDANÇA DE USO DA TERRA E FLORESTAS (com remoção),2015,332 | ||
TRATAMENTO DE RESÍDUOS,2015,63 |
Binary file not shown.
Oops, something went wrong.