import csv
from tabulate import tabulate
from openpyxl import load_workbook
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
me = 'xxx@gmail.com'
password = 'yyyzzz!!2'
server = 'smtp.gmail.com:587'
you = 'qqq@gmail.com'
text = """
Hello, Friend.
{table}
Regards,
Me"""
html = """
<html><body><p>Hello, Friend.</p>
<p>Here is your data:</p>
{table}
<p>Regards,</p>
<p>Me</p>
</body></html>
"""
filepath="D:/Development_Avecto/Python/Associate_AppLens_Defaulters_Nov1-Dec4.xlsx"
data_list=[]
temp_csv=""
workbook = load_workbook(filepath)
sheet_data = workbook[str('%')]
Ws_range= sheet_data['A':'D']
for row in Ws_range:
for cell in row:
print(cell.value)
temp_csv = temp_csv + str(cell.value) + "~"
data_list.append(temp_csv)
text = text.format(table=tabulate(data_list, headers="firstrow", tablefmt="grid"))
html = html.format(table=tabulate(data_list, headers="firstrow", tablefmt="html"))
message = MIMEMultipart(
"alternative", None, [MIMEText(text), MIMEText(html,'html')])
message['Subject'] = "Your data"
message['From'] = me
message['To'] = you
server = smtplib.SMTP(server)
server.ehlo()
server.starttls()
server.login(me, password)
server.sendmail(me, you, message.as_string())
server.quit()
需要关于如何在多个列中显示数据的帮助,因为我在excel中有四列,但现在所有四列都显示为单列
目前,它正在从excel中读取数据并邮寄内容,但它显示为单列
请帮助我解决我使用的python3.6
您应该将其转换为列表列表,如
使用类似
最小工作示例
结果:
编辑:对于
pandas.DataFrame
您还必须转换为listd列表,但DataFrame
具有此功能也可以与
tabulate
一起使用的numpy数组或列表
相关问题 更多 >
编程相关推荐