我正在尝试使用 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
astable.get_string()
和 as 中 取出str(table)
。在这两种情况下,整个table object
都打印为string
单行(它丢失了table
格式)
编辑:
table
如果我作为电子邮件正文发送,我可以通过电子邮件发送table.get_html_string()
,但是,我失去了所有的边界,这没关系..ish,但不是很好......
第二次编辑:
PrettyTable
提供了一个 API 来在 Python 中打印表格,并最终返回一个对象。
基本上,我正在尝试获取该对象(当我调用该对象时,print table
我会返回一个格式良好的表格)并将其转储到电子邮件中