Skip to content

Instantly share code, notes, and snippets.

@luxu
Last active November 3, 2022 21:55
Show Gist options
  • Save luxu/9f0af7f512d5bbc6c90155040590a379 to your computer and use it in GitHub Desktop.
Save luxu/9f0af7f512d5bbc6c90155040590a379 to your computer and use it in GitHub Desktop.
from pathlib import Path
from openpyxl import load_workbook
open_file = 'alunos.xlsx'
# Essa linha abaixo eu digo pro scripts ir na pasta Desktop do windows e pegar o arquivo 'alunos.xlsx'
local_filename_open = Path.joinpath(Path.home(), Path("desktop"), open_file)
# Abre o arquivo e pega o conteúdo e coloca na variável 'planilha_1'
planilha_1 = load_workbook(local_filename_open)
open_file = 'alunos2.xlsx'
local_filename_open = Path.joinpath(Path.home(), Path("desktop"), open_file)
planilha_2 = load_workbook(local_filename_open)
# linha abaixo abro os dois conteúdos: planilha_1 e planilha_2
for cel_1, cel_2 in zip(planilha_1['Planilha1'], planilha_2['Planilha1']):
# pego o conteúdo que está na coluna A(cel_1[0].value) que no caso é o NOME
nome_na_planilha_1 = cel_1[0].value
nome_na_planilha_2 = cel_2[0].value
# pego o conteúdo que está na coluna D(cel_1[3].value) que no caso é o MULTIPLICADOR
multiplicador = cel_1[3].value
# Daí pergunto: se a variável: MULTIPLICADOR não estiver vazia e os NOMES da planilha_1 e planilha_2 forem iguais
# é executado o bloco abaixo
if multiplicador is not None and nome_na_planilha_1 == nome_na_planilha_2:
# Para garantir que o conteúdo do MULTIPLICADOR é um número eu testo: int(multiplicador)
try:
multiplicador_da_planilha_1 = int(multiplicador)
# pego o conteúdo que está na coluna B(cel_1[1].value) que no caso é a IDADE e já testo se é um número
idade_na_planilha_2 = int(cel_2[1].value)
# Estando tudo certo faço a multiplicação
resultado = multiplicador_da_planilha_1 * idade_na_planilha_2
print(f'{nome_na_planilha_1} tem {idade_na_planilha_2} anos e Multiplicador {multiplicador_da_planilha_1} = {resultado}')
except Exception as err:
print(f'ERRO..:{err}... Não tem só número na célula')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment