SQL Результат запроса к телу электронной почты (со столбцами) в Python - PullRequest
0 голосов
/ 21 февраля 2020

Я начинающий пользователь python и пытаюсь создать программу, которая:

  1. Запускает запрос SQL и прикрепляет результат к электронному письму (я выполнил это, показано ниже)
  2. Выполните еще один более короткий запрос SQL, чтобы суммировать вложение и вставить результат в текст письма (со столбцами, чтобы его было легче читать)

Вопросы:

  1. Я застрял на # 2. Любое руководство приветствуется
  2. для # 1, мой код работает нормально, и я получаю письмо с вложением, но кое-как, как через 30 минут я получаю письмо от администратора базы данных, что мой запрос выполняется в течение 30 минут. Не уверены, что я делаю, что вызывает выполнение запроса в обратном направлении?

Если вы обнаружите какие-либо другие проблемы с моим кодом, пожалуйста, дайте мне знать. Спасибо

import csv
import datetime
import shutil
import smtplib
import pyodbc

import pandas as pd
import pandas.io.sql
import win32com.client as win32

server = 'WESTBIS'
db1 = 'ExternalUser' 
db2 = 'BI_MIP'
conn = pyodbc.connect('Driver={SQL Server};'
                      'Server=WESTBIS;'
                      'Database1=ExternalUser;'
                      'Database2=BI_MIP;'
                      'Trusted_Connection=yes;')
cursor = conn.cursor()
cursor.execute("My sql query") 
col_headers = [ i[0] for i in cursor.description ]
rows = [ list(i) for i in cursor.fetchall()]
df = pd.DataFrame(rows, columns=col_headers)
df.to_csv("----.csv", header = True, index=False)
newPath = shutil.copy('--------.csv', 'C:/Users/Documents/----/')
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = '12345@email.com'
mail.Subject = 'EMAIL SUBJECT'
mail.Body = 'EMAIL BODY'
mail.HTMLBody = '<h2>BODY OF EMAIL IN HTML</h2>' 
attachment = "C:\\Users\\-----\\Documents\\Projects\\------.csv"
mail.Attachments.Add(attachment)

mail.Send()
...