Untitled
unknown
python
a year ago
3.2 kB
7
Indexable
import os
import pyperclip
import time
from openpyxl import Workbook, load_workbook
from openpyxl.styles import NamedStyle
def criar_pasta_na_area_de_trabalho(nome_pasta):
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")
folder_path = os.path.join(desktop_path, nome_pasta)
if not os.path.exists(folder_path):
os.makedirs(folder_path)
print(f"Pasta '{nome_pasta}' criada na área de trabalho.")
else:
print(f"A pasta '{nome_pasta}' já existe na área de trabalho.")
return folder_path
def salvar_no_excel(conteudo, caminho_excel):
try:
# Tentar abrir o arquivo Excel existente ou criar um novo
if os.path.exists(caminho_excel):
workbook = load_workbook(caminho_excel)
sheet = workbook.active
print("Arquivo Excel existente carregado.")
else:
workbook = Workbook()
sheet = workbook.active
print("Novo arquivo Excel criado.")
# Define o estilo de moeda
moeda_style = NamedStyle(name="moeda_style", number_format='"R$" #,##0.00')
ultima_linha = sheet.max_row + 1
for linha in conteudo:
try:
valor = float(linha.strip())
cell = sheet.cell(row=ultima_linha, column=1)
cell.value = valor
cell.style = moeda_style
ultima_linha += 1
except ValueError:
print(f"Conteúdo não numérico ignorado: {linha.strip()}")
# Aplicar o estilo de moeda a todas as células na coluna A
for row in sheet.iter_rows(min_col=1, max_col=1, min_row=2, max_row=sheet.max_row):
for cell in row:
cell.style = moeda_style
# Salvar diretamente no arquivo Excel
workbook.save(caminho_excel)
print(f"Conteúdo atualizado no arquivo Excel: {caminho_excel}")
except PermissionError as e:
print(f"Erro ao salvar no Excel (PermissionError): {e}")
except Exception as e:
print(f"Erro inesperado ao salvar no Excel: {e}")
def copiar_para_area_de_transferencia():
conteudos_copiados = set()
while True:
time.sleep(0.5) # Intervalo reduzido para maior rapidez
conteudo_copiado = pyperclip.paste()
if conteudo_copiado and conteudo_copiado not in conteudos_copiados:
conteudos_copiados.add(conteudo_copiado)
print(f"Conteúdo copiado: {conteudo_copiado}")
yield conteudo_copiado
def main():
nome_pasta = "NovaPasta"
caminho_pasta = criar_pasta_na_area_de_trabalho(nome_pasta) # Criar pasta na área de trabalho
caminho_excel = os.path.join(caminho_pasta, "dados.xlsx")
copiador = copiar_para_area_de_transferencia()
print("Copie o conteúdo para a área de transferência. O script irá salvar automaticamente no Excel.")
try:
for conteudo in copiador:
salvar_no_excel([conteudo], caminho_excel)
except KeyboardInterrupt:
print("Execução interrompida pelo usuário.")
if __name__ == "__main__":
main()
Editor is loading...
Leave a Comment