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