[英]F-String in mail python
当我使用 f-string 打印供应商名称时,我使用以下代码:
for i in range(1,10):
print(f'{df_supplier_number["SUPPLIER NAME"][i]}')
结果如下所示:
supplier 1
supplier 2
supplier 3
supplier 4
supplier 5
...
但是当用这种方法写一个email时,我就不行了。
for i in range(1,10):
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.Subject = f'{df_supplier_number["SUPPLIER NAME"][i]}' + "_test"
mail.To = "test@mail.com"
mail.HTMLBody = r"""
Hallo,<br><br>
test """f"{df_supplier_number[i]}"r""" erstellen:<br><br>
Mit dem Text:<br>
test1 by """f"{df_supplier_number[i]}"r""".<br>
Settlement Date Range: 01. November 2020 to 31. October 2021.<br><br>
Und dem Betrag:<br>
"""f'{round(df_supplier_number[i],2)}'r""" € (wie in der angehängten Excel-Datei zu erkennen).<br><br>
test
"""
mail.Attachments.Add(os.getcwd()+ "\\" + f'{df_number[i]}'"_test.xlsx")
mail.Send()
提前致谢!
看起来你可能已经疯狂地使用 r-string 和 f-string。 我在 HTMLBODY 部分的开头放置了一对,并删除了添加 r,f, & 可能不需要“。请尝试以下内容,看看它是否适合您。我制作了一个随机数字列表来测试所有内容似乎正在为我工作。
for i in range(1,10):
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.Subject = f'{df_supplier_number["SUPPLIER NAME"][i]}' + "_test"
mail.To = "test@mail.com"
mail.HTMLBody = rf"""
Hallo,<br><br>
test "{df_supplier_number[i]}" erstellen:<br><br>
Mit dem Text:<br>
test1 by "{df_supplier_number[i]}".<br>
Settlement Date Range: 01. November 2020 to 31. October 2021.<br><br>
Und dem Betrag:<br>
'{round(df_supplier_number[i],2)}'€ (wie in der angehängten Excel-Datei
zu erkennen).<br><br>
test
"""
mail.Attachments.Add(os.getcwd()+ "\\" + f'{df_number[i]}'"_test.xlsx")
mail.Send()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.