2013-07-07 63 views
2

從Python需要輸出文本報告包含多個部分和內容,例如從基本Python數據結構創建的簡單段落,列表,表格等。如何基於Python生成不同格式的報告(HTML,文本等)?

是否有一種「標準」的Python方式來創建這樣一個簡單的文本報告,除了從頭開始做字符串格式化。

如果還可以生成HTML報告,但主要輸出是文本,並且更高級的報告行PDF和XML是不必要的,那將會很不錯。

回答

2

這類問題最好使用搜索引擎進行調查,因爲這些回答無法知道您的所有要求。你必須研究不同的選擇。這裏是我將開始...

  1. 使用Report Lab生成PDF報告,或見reportlab在PyPI中。
  2. 使用模板引擎(如jinja2)創建HTML報告。搜索其他人,因爲可能有更好的東西。 Mustache適合無邏輯模板。
  3. 使用內置的openfile.write中的Python創建文本報告。也許看到pod
  4. 使用Python的csv模塊生成CSV文件。
1

兩種方法,你可以採取:

你可以使用一個模板引擎;爲每個報告提供兩個模板 - 一個生成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和其他任何您需要的豐富格式。這樣,您只需編寫一個模板,但該模板將能夠以多種格式生成報告。