标准报告生成语言

时间:2015-08-26 10:21:53

标签: python python-2.7 pandas matplotlib latex

我试图创建一个小的Python包来生成空间数据的报告,但我没有尝试重新创建整个格式化语言,而是试图查看是否存在任何存在的内容。

我需要创建可包含以下内容的PDF报告:

  • 图片
  • 不同的文字格式和尺寸
  • 图表

是否有涵盖所有这些内容的标准报告语言?

我正在看看LaTex,但这似乎只涵盖了4个中的3个(不是图形格式)。

非常欢迎任何建议。如果说图形和文本格式之间有明显的区别,我可以将两种格式化语言合并为1。

我计划在图形部分使用matplotlib。对于报告的文本部分,我正在考虑PyLaTeX,但我并没有100%在其中出售。

谢谢。

2 个答案:

答案 0 :(得分:2)

我不知道是否有任何开箱即用的解决方案。一般的解决方案似乎有点复杂,因为有不同的人有不同的任务(数据格式,数据处理,报表布局,报表格式,......)。

但是,我使用以下方法做了类似的事情:

  • Python处理数据
  • jinja2模板引擎改为produce a tex-template using Python
  • pdflatex根据jinja2生成的模板生成PDF
  • 图表可以仅使用Python生成,也可以通过一种混合方法生成
    • 使用纯Python:使用matplotlib将图形导出为图像。 Include them into the tex-file就像你会做的那样正常'图像。
    • 使用Latex和Python:使用Python的csv模块或pandas模块将数据保存到csv文件,并使用Latex'基于这些csv文件生成图表。 pgfplots包。在我看来,这看起来更好,但编译tex文件所需的时间大大增加
  • latex-mkmake自动执行所有必需的步骤

答案 1 :(得分:0)

我的pythontex LaTeX软件包可能是一个选项,具体取决于您的工作流程。它允许LaTeX文档中的可执行Python代码(以及其他语言)。

pythontex方法中,您编写的是有效的LaTeX文档,而不是使用模板引擎。因此,您可以轻松使用标准的LaTeX创作工具,如LaTeX源和PDF输出之间的正向/反向搜索;你正在与LaTeX直接合作。文档中的Python代码可以是排版,执行或两者。默认情况下,Python打印的任何内容都直接进入LaTeX文档并被解释为LaTeX,因此使用Python格式化文本然后将其发送到LaTeX很容易。 GitHub上的pythontex_gallery文档提供了可能的示例,包括绘图。