Skip to content

Instantly share code, notes, and snippets.

@RafaRibas
Created March 24, 2021 21:58
Show Gist options
  • Save RafaRibas/cde614b0ddfd695674be7ca51fb5a038 to your computer and use it in GitHub Desktop.
Save RafaRibas/cde614b0ddfd695674be7ca51fb5a038 to your computer and use it in GitHub Desktop.
# 1. Ler as cores das células com OPENPYXL
#
# Carrega pandas para uso posterior na criação do dataframe
import pandas as pd
#Utilizado o modo somente leitura para tratar com arquivos com grande tamanho
from openpyxl import load_workbook
# define o arquivo a ser lido pelo OPENPYXL
arquivo = 'C:/Users/.../arquivo.xlsm'
# carrega a planilha inteira(workbook) na variavel wb
wb = load_workbook(filename = arquivo, read_only=True, data_only=True)
# carrega a aba desejada, no caso o nome é: BDP (worksheet) na variável ws
ws = wb['BDP']
#
#
#
#
# Criando listas para serem preenchidas pelo laço e depois inseridas em
# um novo Dataframe
#
#OBS: WS inicia no 1 e as listas no 0.
# Primeiro crio as variáveis "evento" e "cor para depois fazer um 'append'
# dentro do laço.
evento = []
cor = []
#
#
#
#
#Laço para adquirir o valor e a cor da coluna L e colocar nas duas listas.
line = 1
while line <= 200:
evento.append(ws.cell(line,12).value)
if ws.cell(line,12).value == None:
cor.append(0)
else:
color_in_hex = ws.cell(line,12).fill.start_color.index
if color_in_hex != '00000000' and color_in_hex != 0:
cor.append(color_in_hex)
else:
cor.append(0)
#print('Linha = ',line, '- HEX=', color_in_hex)
line = line+1
#wb.close()
#
#
#
#
# Salvando as listas em um dataframe:
df = pd.DataFrame()
df['Eventos'] = evento
df['Cores'] = cor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment