如何使用 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 文件。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP