Estou com um problema em um mini curso de Peyton que estou fazendo e apareceu um erro que não sei corrigir, se alguém souber eu agradeço.
# Instalação (pip install pandas & pip install openpyxl, pip install pywin32)
import pandas as pd
import win32com.client as win32
# Importar a base de dados
tabela_vendas = pd.read_excel('E:\Bibliotecas\Downloads\Vendas\Vendas.xlsx')
# Visualozar a base de dados
pd.set_option('display.max_columns', None)
print(tabela_vendas)
print('-' * 50)
# Faturamento por loja
faturamento = tabela_vendas[['ID Loja', 'Valor Final']].groupby('ID Loja').sum()
print(faturamento)
print('-' * 50)
# Quantidade de produto vendido por loja
quantidade = tabela_vendas[['ID Loja', 'Quantidade']].groupby('ID Loja').sum()
print(quantidade)
print('-' * 50)
# Ticket médio por produto cada loja
ticket_medio = (faturamento['Valor Final'] / quantidade['Quantidade']).to_frame()
print(ticket_medio)
# Enviar um email com relatório
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.Subject = 'Relatório de Vendas por Loja'
#ail.Body = 'Message body'
mail.HTMLBody = '''
Prezados
Segue o Relatório de Vendas por cada Loja.
Faturamento:
{}
Quantidade Vendida:
{}
Ticket Médio dos Produtos em cada Loja:
{}
Qualquer dúvida estou à disposição.
Att.,
André
'''
# To attach a file to the email (optional):
attachment = "Path to the attachment"
mail.Attachments.Add(attachment)
mail.Send()
---------------------------------------------------------------------------------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\AQ\MinicursoPython\pythonProject\.venv\Lib\site-packages\win32com\client\dynamic.py", line 84, in _GetGoodDispatch
IDispatch = pythoncom.connect(IDispatch)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pywintypes.com_error:
(-2147221005, 'Cadeia de caracteres de classe inválida', None, None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\AQ\MinicursoPython\pythonProject\MeuArquivo.py", line 27, in <module>
outlook = win32.Dispatch('outlook.application')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\AQ\MinicursoPython\pythonProject\.venv\Lib\site-packages\win32com\client\__init__.py", line 118, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch, userName, clsctx)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\AQ\MinicursoPython\pythonProject\.venv\Lib\site-packages\win32com\client\dynamic.py", line 104, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\AQ\MinicursoPython\pythonProject\.venv\Lib\site-packages\win32com\client\dynamic.py", line 86, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
pywintypes.com_error:
(-2147221005, 'Cadeia de caracteres de classe inválida', None, None)
Process finished with exit code 1