1

我一直在尝试编写一种算法来帮助我更有效地回复电子邮件,但当我处理回复的格式时,我陷入了僵局。

因此,响应是预结构化文本,我想在其中嵌入一个 Excel 范围作为表格,然后将其复制到剪贴板并粘贴,然后发送。基本上,回复应如下所示:

  • “您要求的数据是:”
  • 桌子
  • “感谢您与我们联系”

我已经尝试为此目的使用 Pandas.Dataframe.to_string(),但格式非常混乱且令人不快。我知道如何将 Excel 范围复制到电子邮件并且效果很好,所以我想知道是否有任何方法可以将 Excel 范围嵌入到字符串中,然后将其复制到剪贴板。

这是与响应设置相关的代码片段:

response_string = response_string + response_template[:243] + df.to_string(index=False) + "\n\n" + response_template[243:]

也许我在响应中使用常规字符串变量做错了什么?

提前致谢!

干杯。

4

1 回答 1

1

我建议为此使用jinja模板。

from jinja2 import Environment, PackageLoader, select_autoescape

def render_email(df):
    env = Environment(
        loader=PackageLoader("app"),  # Choose another loader if convenient
        autoescape=select_autoescape()
    )
    template = env.get_template("template.html")
    return template.render(dataframe=df)

作为您的模板文件template.html

The data you requested is:
{% for key, value in dataframe.iterrows() %}
{{key}}: {{value}} {# You can choose here how to iterate/display your data #}
{% endfor %}
Thank you for contacting us

你如何迭代你的数据框取决于它包含的数据。

于 2021-10-13T02:19:36.337 回答