2

在 Python 中,需要输出包含多个部分和内容的文本报告,例如从基本 Python 数据结构创建的简单段落、列表、表格等。

除了从头开始进行字符串格式化之外,是否有一种“标准”的 Python 方法来创建这样一个简单的文本报告。

如果还可以生成 HTML 报告,那就太好了,但主要输出是文本,不需要更高级的报告行 PDF 和 XML。

4

2 回答 2

3

这类问题最好使用搜索引擎进行调查,因为回答的人无法了解您的所有要求。你必须研究不同的选择。这是我要开始的地方...

  1. 使用Report Lab生成 PDF 报告,或在 pypi 上查看reportlab 。
  2. 使用jinja2 之类的模板引擎创建 HTML 报告。寻找其他人,因为可能有你更喜欢的东西。 Mustache非常适合无逻辑模板。
  3. 使用 Python 的内置openfile.write. 也许也看到豆荚
  4. csv使用 Python 的模块生成 CSV 文件。
于 2013-07-07T22:11:25.253 回答
2

您可以采取的两种方法:

您可以使用模板引擎;对于每个报告,提供两个模板 - 一个生成 html,一个生成纯文本。很多可定制性,但是每次您对报告进行更改时,您都必须更改两个模板。

另一种方法是使用旨在转换为多种格式的标记格式。例如,reStructuredText 格式被设计成纯文本格式可供人类阅读,但也易于转换为 HTML(或乳胶、pdf 或 ...)并生成美观且布局合理的文档。

后者是 Python 文档的编写方式——它是用 rST 编写的,并通过Sphinx转换为 HTML 和其他格式。您可以通过单击“显示源代码”链接查看 Python 文档的任何页面的原始文本 - 例如, http: //docs.python.org/3/_sources/library/constants.txthttp 的源代码: //docs.python.org/3/library/constants.html#constants-added-by-the-site-module

您可能仍需要使用模板引擎来生成报告的 rST 形式,但希望这会立即为您提供纯文本版本,然后可以处理该纯文本版本以提供 HTML 和您需要的任何其他丰富格式. 这样,您只需要编写一个模板,但该模板将能够生成多种格式的报告。

于 2013-07-07T22:15:49.863 回答