xExcel
#Para importar import sys sys.path.insert(0, r’D:OneDrive - De Biasi’) import xExcel as xDB import importlib importlib.reload(xDB)
# Para instalar biblioteca import sys !{sys.executable} -m pip install numpy
#Para reset_index da coluna td.columns = td.columns.map(lambda x: f’{x[0]}{x[1]}’)
#Para silenciar avisos import warnings warnings.filterwarnings(‘ignore’) warnings.simplefilter(‘ignore’)
#Para listar arquivos import os for path, subdirs, files in os.walk(Caminho):
- for name in files:
arquivo = str(os.path.join(path, name))
#Para formatar com melhor visualização def human_format(num, pos):
magnitude = 0 while abs(num) >= 1000:
magnitude += 1 num /= 1000.0
# add more suffixes if you need them return ‘%.2f%s’ % (num, [‘’, ‘K’, ‘M’, ‘B’, ‘T’, ‘P’][magnitude])
- xExcel.abcAmostra(tab, chv, vlrs, data, infAmostra)
Rubens, 26/09/2023: Função para distribuição ABC dos valores, inclusão de estatística, identificação de outliers e seleção de uma amostra. Retorno:
dfResumoAbc = Retorna um resumo de quantidade de itens por grupo A, B e C dfAmostraAbc = Retorna uma tabela com a classificação ABC, estatísticas e item de amostra dfBaseAbc = Retorna a tabela fornecida pra função com a classificação dos itens e identificação das estatísticas
- Parâmetros:
tabA = DataFrame carregado e com os tipos de dados tratados chv = [] Lista com os campos chaves para formação da análise vlrs = [] Lista com campos de valore, o primeiro valor será utlizado na formação da curva ABC data = Cammpo de data que será retornado na tabela de amostra infAmostra = [] Lista de campos que serão retornados para identificação da amostra
- xExcel.alteraColunas(df, plan_colunas='campos.xlsx')
Rubens 12/09/2023: Função para transformar a tabela conforme planilha de campos mapeado.
- xExcel.arquivosEletronicos(pastaArquivos, md5=True)
Rubens, 16/10/2023 Função para listar arquivos de uma determinada pasta. Por padrão retorna o md5 e acorrência Entradas:
pastaArquivos = Pasta com os arquivos que serão listados md5=True/False indicando se é para calcular o md5 ou não
- Entradas:
- Retorna um dataframe contendo os dados dos arquivos eletrónicos adicionando
md5: ocorrencia: número de vezes que o mesmo arquivo está contido no diretorio class: Calssificação se é arquivos único/primeira ocorrência ou arquivo duplicado (repetido).
- xExcel.comparaEnvios(caminhoRecente, caminhoAnterior)
Rubens, 16/10/2023 Função para comparar envios de arquivos. Entradas:
caminhoRecente = Pasta com os arquivos mais recentes enviados caminhoAnterior = Pasta com os arquivos anteriormente enviados
- Entradas:
Retorna um dataframe com a comparação dos arquivose um gráfico contendo a identificação de arquivos duplicados nos dois diretórios e a quantidade de arquivos únicos identificados
- xExcel.conciliacaoValores(tabANome, tabA, chvA, vlA, invSinalA, camposExtraA, tabBNome, tabB, chvB, vlB, invSinalB, camposExtraB, difMin=0.01)
Rubens, 28/09/23: Função para realizar conciliação entre duas tabelas
- Retorno:
dfResumo = Resumo da conciliação por faixas de valores de diferenças dfConfronto = Confronto de todos as chaves - informando os itens só encontrados dfBase = Base com as duas tabelas incluindo os campos selecionados
- Parâmetros:
- #TabelaA
tabANome = Nome da tabela que será utlilzado nos relatórios e confronto tabA = DataFrame - campos utlizados deverão estar formatados. Valores com float e chaves como str chvA = [] Lista com os nomes das colunas que são chave para o confronto vlA = Valor da tabela A que será utilizado para confronto com a tabela B invSinalA = informar True / False - True quando for aplicar a multiplicação por -1 / False quando não aplicado camposExtraA= [] Lista de campos ex: [‘Histórico Contábil’,’Classificação’,’DATA_REF’]
- #TabelaB
tabBNome = Nome da tabela que será utlilzado nos relatórios e confronto tabB = DataFrame - campos utlizados deverão estar formatados. Valores com float e chaves como str chvB = Lista com os nomes das colunas que são chave para o confronto vlB = Valor da tabela A que será utilizado para confronto com a tabela B invSinalB = informar True / False - True quando for aplicar a multiplicação por -1 / False quando não aplicado camposExtraB= Lista de campos ex: [‘CFOP’,’NCM’,’DATA_REF’]
- xExcel.fmt_valor(tick)
Rubens, função para formatar número em mil (k), mi
- xExcel.procVlrDescricao(tabA, chvA, descA, vlA, tabB, chvB, descB, vlB, camposProc, indCorrelTextoValor, scoreMinino)
Rubens, 23/09/2023: Função para relacionar tabelas com base em campos chaves Retorno:
dfAProc = Retorna o DataFrame A com o proc realizado por valor e descrição dfBProc = Retorna o DataFrame B com o proc realizado por valor e descrição dfScore = Retorna a resultado da comparação entre strings e valores
- Parâmetros:
tabA = DataFrame carregado e com os tipos de dados tratados
chvA = [] lista com os nomes dos campos de referência da coluna da esquerda. Não incluí campo que comparado por aproximação.
descA = campo da tabela da esquerda que será comparado por aproximação
vlA = campo de valor tabela da esquerda. Necessário que seja tratado
tabB = DataFrame carregado e com os tipos de dados tratados
chvB = [] lista com os nomes dos campos de referência da coluna da esquerda. Não incluí campo que comparado por aproximação.
descB = campo da tabela da direita que será comparado por aproximação
vlB = campo de valor tabela da esquerda. Necessário que seja tratado
camposProc = [] lista dos campos da tabela da direita que serão incluídos na tabela da esquerda
- indCorrelTextoValor = (0.5,0.5) informar a ponderação entre proximidade de descrição e de valor
A proximidade de descrição será calculada utilizando o demaerau levenshtein https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance Proximidade de valor é o resultado da diferença do maior pelo menor (ambos considerado absoluto)
scoreMinino = informar o número mínimo para considerar relacionado (máximo 1)
a sequência de comparação é a seguinte: 1° relacionamentos por campos exatos - sem avaliação dos valores 2° relacionamento por proximidade do texto e valor, conforme parâmetros.
- xExcel.salvaColunasExcel(df, name='campos')
Rubens, 12/09/2023: Função para gerar planilha com os nome dos campos do dataframe na planilha é possível alterar a ordem da colunas, alterar os nomes e indicar quais colunas serão eliminadas A função só imprimi msg que foi processada e salva excel na pasta