簡體   English   中英

Python - 是否有一種好的中間格式可以將混合數據導出為多種文件類型?

[英]Python - Is there a good intermediary format to export mixed data to multiple filetypes?

我有一個 model,它以 numpy arrays、文本和圖表的形式生成 output。 它目前持有這個 output 作為字典。

要求 output 以多種格式呈現。 特別是 PDF、Word 和 Excel。

我的解決方案是將所有數據寫入 HTML 字符串,然后使用 weasyprint 將 HTML 導出為 PDF。 然后我將 HTML 的表格部分導出到 Excel。這工作正常,但很亂。

我想知道是否有更簡單的方法來做到這一點? 在我看來,也許有一個模塊可以讓您將信息存儲在字典中,並指定其數據類型,然后一個進程將處理它的格式並導出為各種格式。

我想回答我自己的問題,以展示我作為解決方案實施的內容。

因為數據格式是多媒體(文本、數字、圖表),所以我做了兩種方法:

  • Report class 具有導出 txt、html、docx 和 pdf 的能力
  • Workbook class,具有導出 xlsx 和 csv 的能力

這兩個類都繼承了相同的數據結構,即包含數字和元數據的嵌套字典。 然后Report class 抓取了額外的文本,並根據數據創建了圖表。

例如,數據類似於此結構:

data = {
    "Some Label":{
        "An Item":[1,2,3,4,5]
    }
}

Report class 使用Dominate構建了一個 HTML 字符串,並且可以通過渲染它導出為 HTML,通過將渲染的 HTML 饋送到 WeasyPrint 中導出為HTML ,或者通過將渲染的 838Pandocy88 轉換為 Docx(或理論上的其他格式) Pandocy8988

Workbook class 遍歷值字典並將這些值的組寫入 Pandas 數據幀,並使用pd.ExcelWriter將它們導出到工作簿。 相同的數據幀可以導出到 csv,並使用此處找到的適應解決方案壓縮到 zip 文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM