如何使用 Python 將 CSV 檔案轉換為 PDF 檔案?
在當今世界,資料以空前速度生成,能夠有效地管理和呈現資料至關重要。CSV 檔案通常用於在系統之間儲存和傳輸資料,但有時需要將這些資料轉換為更易讀的格式,例如 PDF。
Python 憑藉其豐富的庫,提供了一種簡單高效的方法來將 CSV 檔案轉換為 PDF 檔案。
在本文中,我們將探討使用 Python 將 CSV 檔案轉換為 PDF 檔案所涉及的步驟,並提供一個示例程式碼,您可以使用它來入門。無論您是資料分析師、科學家,還是隻是想提高資料展示技能,本指南都將幫助您輕鬆地將 CSV 檔案轉換為 PDF 檔案。
以下是我們將採取的將 Python 中的 CSV 檔案轉換為 PDF 檔案的方法。
使用 Pandas 將 CSV 檔案轉換為 HTML - Pandas 是一個功能強大的 Python 庫,用於資料處理和分析。它提供了一種稱為“read_csv”的方法,允許我們將 CSV 檔案的內容讀取到 Pandas 資料框中。然後,我們可以使用“to_html”方法將此資料框轉換為 HTML 表格。
使用 PDFkit Python API 將 HTML 檔案轉換為 PDF - PDFkit 是 wkhtmltopdf 命令列實用程式的 Python 包裝器。它允許我們透過在 Python 指令碼中呼叫 wkhtmltopdf 實用程式來將 HTML 檔案轉換為 PDF 檔案。
假設我們有一個名為 inputs.csv 的 CSV 檔案,其中包含以下資料。
inputs.csv
Name, Age, Occupation John, 32, Engineer Jane, 28, Teacher Bob, 45, Salesperson
將 CSV 檔案轉換為 HTML
現在讓我們專注於第一步,我們將以上 CSV 檔案作為輸入,然後將其轉換為 HTML 檔案。
示例
請考慮以下所示的程式碼。
main.py
# Import the pandas library import pandas as pd # Read the CSV file into a pandas dataframe df = pd.read_csv('inputs.csv') # Convert the dataframe to an HTML table html_table = df.to_html() # Print the HTML table to the console print(html_table)
解釋
import pandas as pd - 這將匯入 Pandas 庫,併為其賦予別名“pd”,以便在程式碼後面更容易使用。
df = pd.read_csv('inputs.csv') - 這將“inputs.csv”檔案的內容讀取到名為“df”的 Pandas 資料框中。假設檔案的內容以逗號分隔,這是“read_csv”方法的預設分隔符。
html_table = df.to_html() - 這將 Pandas 資料框“df”轉換為 HTML 表格,並將生成的 HTML 程式碼分配給變數“html_table”。預設情況下,此方法將資料框的索引列作為 HTML 表格的第一列。
print(html_table) - 這會將 HTML 表格列印到控制檯。或者,您可以使用“open”函式的“write”方法將 HTML 表格儲存到檔案中。
要執行以上程式碼,我們首先需要在我們的機器上安裝 Pandas 庫,為此我們可以使用以下所示的命令。
輸出
以上命令的輸出如下所示。
<table border="1" class="dataframe"> <thead> <tr style="text-align: right;"> <th></th> <th>Name</th> <th>Age</th> <th>Occupation</th> </tr> </thead> <tbody> <tr> <th>0</th> <td>John</td> <td>32</td> <td>Engineer</td> </tr> <tr> <th>1</th> <td>Jane</td> <td>28</td> <td>Teacher</td> </tr> <tr> <th>2</th> <td>Bob</td> <td>45</td> <td>Salesperson</td> </tr> </tbody> </table>
將 HTML 轉換為 PDF
為了能夠在將 CSV 轉換為 HTML 後從 CSV 建立 PDF,我們首先需要在我們的系統上安裝wkhtmltopdf,為此我們可以訪問以下 URL。
https://wkhtmltopdf.org/downloads.html
從以上 URL,我們可以在我們的系統上下載特定版本的 wkhtmltopdf 可執行檔案。
安裝完成後,我們可以執行以下所示的程式碼。
main.py
import pdfkit import pandas as pd df = pd.read_csv('inputs.csv') html_table = df.to_html() options = { 'page-size': 'Letter', 'margin-top': '0mm', 'margin-right': '0mm', 'margin-bottom': '0mm', 'margin-left': '0mm' } pdfkit.configuration(wkhtmltopdf='/usr/local/bin/wkhtmltopdf') pdfkit.from_string(html_table, 'outputs.pdf', options=options)
注意 - 請注意,在我的機器上,wkhtmltopdf 安裝在路徑:/usr/local/bin/wkhtmltopdf 上,因此我傳遞了該路徑,您的路徑可能有所不同。
要執行以上程式碼,我們首先需要在我們的機器上安裝pdfkit 庫,為此我們可以使用以下所示的命令。
pip3 install pdfkit
pdfkit 安裝成功後,我們可以執行以下所示的命令
python3 main.py
在終端中執行以上命令後,將在同一資料夾中建立一個名為 outputs.pdf 的新檔案。
以下是“outputs.pdf”檔案的螢幕截圖。

結論
總之,可以使用 Pandas 和 pdfkit 庫將 CSV 檔案轉換為 PDF。
首先,使用 Pandas 將 CSV 檔案轉換為 HTML 表格,然後使用 pdfkit 庫將 HTML 轉換為 PDF。透過這種方法,可以輕鬆地從 CSV 資料生成格式良好且可列印的 PDF 文件。