我正在尝试使用win32com发送电子邮件并将对象作为正文,例如:
outlook = win32com.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = 'receiver@email.com'
mail.Subject = 'subject of email'
mail.HtmlBody = table
mail.send
其中:
table = PrettyTable(['Header1', 'Header2'])
table.add_row(['row1col1', 'row1col2'])
但是,我收到以下错误消息:
TypeError: Objects for SAFEARRAYS must be sequences (of sequences), or a buffer object.
我试图将table object
的字符串作为table.get_string()
以及str(table)
。在这两种情况下,整个table object
在一行上打印为string
(它会丢失table
格式)
编辑:
如果我发送table
作为电子邮件正文,我可以通过电子邮件发送table.get_html_string()
但是,我失去了所有的边框,这很好..但是不是很好.. 。
第二次编辑:
PrettyTable
提供了一个用于在Python中打印表的API,并最终返回一个对象。
基本上,我正在尝试获取该对象(当我调用print table
时,我会找回格式正确的表)并将其转储到电子邮件中