使用Python脚本实现连接SQL server,将指定查询内容保存到本地Excel,定时转发给指定邮箱。

# import部分 导入所需的库和模块。

import pyodbc  # 用于数据库连接
import openpyxl  # 用于操作Excel文件
import pandas as pd  # 用于数据处理
import schedule  # 用于定时任务调度
import time  # 用于时间处理
import smtplib  # 用于发送邮件
from email.mime.multipart import MIMEMultipart  # 用于创建包含附件的邮件
from email.mime.base import MIMEBase  # 用于邮件附件处理
from email.mime.text import MIMEText  # 用于创建文本邮件内容
from email import encoders  # 用于编码邮件附件
from email.header import Header  # 用于处理邮件头
import logging  # 用于日志记录
import os  # 用于操作文件和路径

# 配置日志记录

# 在所运行的文件夹内生成log.txt文件并记录logging的内容。

logging.basicConfig(filename='log.txt', level=logging.DEBUG,
                    format='%(asctime)s - %(levelname)s - %(message)s')

 # 将提取数据附加到Excel文件中。

def fetch_data_and_prepare_file():
    try:
        logging.info("Starting the fetch_data_and_prepare_file process") #记录日志

# 连接数据库 

# 连接数据库
        connection = pyodbc.connect(
            'DRIVER={ODBC Driver 17 for SQL Server};'
            'SERVER=192.168.60.215;' # 连接名
            'DATABASE=live;'         # 数据库名称
            'UID=ck;'                # 登录账号
            'PWD=ck2024!'            # 登录密码
        )
        logging.info("Database connection established")  #记录日志

# 从视图中抓取数据

query = "SELECT * FROM [dbo].[V_SHHW_立库库位利用率]" #写入查询命令

df = pd.read_sql(query, connection)  
  #使用pandas库中的read_sql函数来执行一个SQL查询并将结果读取到一个DataFrame中。

logging.info("Data fetched from the database")       #记录日志

# 指定要写入的 Excel 文件的绝对路径

file_path = r'D:\桌面\利用率.xlsx' 

# 加载现有的 Excel 文件

wb = openpyxl.load_workbook(file_path) 

# 选择要插入数据的工作表

ws = 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值