要使用Python自动生成Excel表格数据并发送邮件,您可以使用pandas库来处理数据,使用openpyxl库来生成Excel表格,并使用smtplib和email.mime库来发送邮件。下面是一个简单的示例代码:
python
import pandas as pd
from openpyxl import Workbook
from smtplib import SMTP
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
生成数据
data = {
'Product': ['Apple', 'Banana', 'Orange'],
'Price': [1.00, 0.50, 0.75],
'Quantity': [50, 20, 30]
}
df = pd.DataFrame(data)
生成Excel表格
wb = Workbook()
ws = wb.active
for r in dataframe_to_rows(df, index=False, header=True):
ws.append(r)
wb.save('example.xlsx')
发送邮件
sender = 'your_email@example.com'
password = 'your_password'
recipient = 'recipient@example.com'
subject = 'Excel表格数据'
body = '以下是生成的Excel表格数据:'
attachment = 'example.xlsx'
msg = MIMEMultipart()
msg['From'] = sender
msg['To'] = recipient
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
with open(attachment, 'rb') as f:
msg.attach(MIMEText(f.read(), 'base64', 'unix'))
smtp = SMTP('smtp.gmail.com:587')
smtp.starttls()
smtp.login(sender, password)
smtp.sendmail(sender, recipient, msg.as_string())
smtp.quit()
在上面的代码中,我们首先使用pandas库生成了一个包含产品、价格和数量的数据字典,然后将其转换为数据框。接下来,我们使用openpyxl库将数据框转换为Excel表格,并将其保存到本地文件example.xlsx中。然后,我们使用smtplib和email.mime库来发送邮件。在邮件正文中,我们简单地描述了附件的内容。在附件中,我们附加了生成的Excel表格文件。最后,我们使用Gmail的SMTP服务器发送邮件。请确保在运行代码之前替换发件人和密码以及收件人邮箱。