如何从DataFrame分析输出中创建报告-PDF或其他

时间:2019-05-26 22:00:02

标签: python html pandas jinja2 weasyprint

我正在使用熊猫创建DataFrame对象,在其中对返回的每个对象进行一些分析。在整个项目中,我都有大量的分析功能。我想为多人创建一份此分析的报告,想知道是否有一些文档/教程/指南介绍了如何在Python中最好地实现这一目标。

我尝试将jinja2与weasyprint一起使用,并且可以看到如何创建分析结果之一的报告(PDF),但是我正在努力查看如何在执行每个分析之后有效地做到这一点。 / p>

这是我的python util:

from pandas import DataFrame
from jinja2 import Environment, FileSystemLoader
from weasyprint import HTML


def create_pdf_report(df: DataFrame, template: str, title: str):
    env = Environment(loader=FileSystemLoader('.'))
    template = env.get_template(template)

    template_vars = {"title": title,
                     "analysis_data": df.to_html()}

    html_out = template.render(template_vars)

    HTML(string=html_out).write_pdf("test_report.pdf")

这是我的HTML:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>{{ title }}</title>
</head>
<body>
    <h2>analysis data - Test PDF Creation</h2>
     {{ analysis_data }}
</body>
</html>

我不确定是否有更简单的方法,但是按照目前的进度,感觉就像我需要准备HTML文件一样,希望它能显示出来,包括整个文件中的template_vars,分析输出可以在其中进行处理显示。

我想找到一种高效且易于维护的方法。

0 个答案:

没有答案