如何用Python生成HTML报表?

2024-06-01 01:57:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一种方法来打印出我的所有图形(从matplotlib,但已经保存为png文件)和HTML中的一些数据帧,就像我通常使用R2HTML那样。

但是我找不到关于Python模块或函数的详细描述。有人能给我一些建议吗?


Tags: 模块文件数据方法函数图形pngmatplotlib
2条回答

首先安装软件包 https://pypi.org/project/html-testRunner/

使用 如果名称=“main”: unittest.main(testRunner=HtmlTestRunner.HtmlTestRunner(output=r“这里是您要存储HTML报表的位置(表示文件夹路径)”)

看起来有几个工具。我一直专注于简单的html文本编写器,因为我将完全从头开始构建我的报表页面结构。这可能不同于R2HTML,我想它有很多方便的功能,可以从R对象填充到页面中。

HTMLTags 这个家伙在这个ActiveState社区页面上从头开始写了一个模块:HTMLTags - generate HTML in Python (Python recipe)。在评论中,我发现了我为这个答案列举的大多数工具。

htmlgen 这个package看起来很好,很基本。我不确定它是否与这个旧的article中描述的模块相同。

存在 这个one看起来非常合法,还包括一个解析器。下面是一些示例页面生成代码,使用的格式需要用于在各种html元素之间插入所有适当的python命令。另一种格式使用了一堆嵌套的函数调用,这最多会使python的感叹词非常尴尬。

with xsc.build() :
    with xsc.Frag() as myHtmlReport :
        +xml.XML()
        +html.DocTypeXHTML10transitional()
        with html.html() :
            reportTitle = "My report title"

            with html.head() :
                +meta.contenttype()
                +html.title( reportTitle )

            with html.body() :
                # Insert title header
                +html.h1( reportTitle )

                with html.table() :
                    # Header Row
                    with html.tr() :
                        with html.td() : 
                            +xsc.Text( "Col 1 Header" )
                        with html.td() :
                            +xsc.Text( "Col 2 Header" )


                    # Data Rows
                    for i in [ 1, 2, 3, 4, 5 ] :

                        with html.tr() :
                            with html.td() : 
                                +xsc.Text( "data1_" + str(i) )
                            with html.td() :
                                +xsc.Text( "data2_" + str(i) )

# Write the report to disk
with open( "MyReportfileName.html" , "wb" ) as f:
    f.write( myHtmlReport.bytes( encoding="us-ascii" ) )

libxml2 通过Python绑定,有一个普通的xmlwriter模块,它可能太通用了,但还是很好地了解了。可以找到这个包的Windows二进制文件here

相关问题 更多 >