在本文中,我們將學習如何將 CSV 轉換為 PDF 文件格式。這個簡單的任務可以通過兩個步驟輕鬆完成:
- 首先,我們使用 Pandas 將 CSV 文件轉換為 HTML
- 在第二步中,我們使用 PDFkit Python API 將 HTML 文件轉換為 PDF 文件格式。
方法:
Pandas 是一種快速、強大、靈活的 easy-to-use 開源數據分析和操作工具,構建在 Python 編程語言之上。
使用的 CSV 文件:
對於本教程的這一部分,我們將使用:
- pandas.read_csv(): read_csv 是一個重要的 pandas 函數,用於讀取 CSV 文件並對其進行操作。我們將使用它來讀取輸入的 CSV 文件。
- .to_html(): 借助 DataFrame.to_html() 方法,我們可以使用 DataFrame.to_html() 方法獲取 dataframe 的 html 格式。該函數接收 CSV 文件作為輸入,進行轉換,然後以 HTML 形式保存在本地文件格式。
Syntax for converting CSV to HTML using Pandas :
import pandas as pd
CSV = pd.read_csv(“MyCSV.csv”)
CSV.to_html(“MyCSV.html”)
使用的 HTML 文件: MyCSV
2. Html轉PDF
在 python 中生成 PDF 的方法有很多種。 pdfkit 是更好的方法之一,因為它將 HTML 呈現為具有各種圖像格式、HTML 表單和其他複雜可打印文檔的 PDF。
我們可以通過 3 種方式使用 pdfkit 創建 PDF 文檔。他們是:
- 來自網址
- 來自 HTML 文件
- 從字符串中。
2.1.從 URL 生成 PDF:以下腳本為我們提供了來自網站 URL 的 pdf 文件。
import pdfkit pdfkit.from_url('https://www.geeksforgeeks.org', 'Output.pdf')
2.2.從文件生成 PDF:以下腳本為我們提供了來自 HTML 文件的 pdf 文件。
import pdfkit pdfkit.from_file('LocalHTMLFile.html', 'Output.pdf')
2.3.從字符串生成 PDF:以下腳本為我們提供了來自字符串的 pdf 文件。
import pdfkit pdfkit.from_string('Geeks For Geeks', 'Output.pdf')
由於我們已經將 CSV 文件轉換為 HTML,我們將使用第一種方法,即從 URL 生成 PDF,其中我們可以提供任何網站的地址或任何本地 HTML 文件。
如果機器上已經安裝了 wkhtmltopdf,我們可以直接使用以下語法:
Syntax for converting HTML to PDF using PDFKit :
import pdfkit
pdfkit.from_url(“MyCSV.html”, “FinalOutput.pdf”)
另外,我們還需要安裝 wkhtmltopdf 以便腳本在我們的 PC 上運行,並將安裝文件 wkhtmltopdf.exe 的路徑設置為我們 PC 的 Environment Variables ,現在我們可以跳過腳本中的配置部分。
或者
我們也可以為已安裝的 wkhtmltopdf.exe 文件設置配置,並將配置變量傳遞給 pdfkit.from_url 函數:
路徑配置
path_wkhtmltopdf = r'D:\Softwares\wkhtmltopdf\bin\wkhtmltopdf.exe'
配置 = pdfkit.configuration(wkhtmltopdf=path_wkhtmltopdf)
使用 pdfkit 將 HTML 文件轉換為 PDF
pdfkit.from_url(“MyCSV.html”、“FinalOutput.pdf”、配置=配置)
執行:
文件夾中的初始文件
文件夾中的初始文件
Python
import pandas as pd
import pdfkit
# SAVE CSV TO HTML USING PANDAS
csv = 'MyCSV.csv'
html_file = csv_file[:-3]+'html'
df = pd.read_csv(csv_file, sep=',')
df.to_html(html_file)
# INSTALL wkhtmltopdf AND SET PATH IN CONFIGURATION
# These two Steps could be eliminated By Installing wkhtmltopdf -
# - and setting it's path to Environment Variables
path_wkhtmltopdf = r'D:\Softwares\wkhtmltopdf\bin\wkhtmltopdf.exe'
config = pdfkit.configuration(wkhtmltopdf=path_wkhtmltopdf)
# CONVERT HTML FILE TO PDF WITH PDFKIT
pdfkit.from_url("MyCSV.html", "FinalOutput.pdf", configuration=config)
運行以上 Python 腳本後:
運行 Python 腳本後同一目錄中的文件
最終輸出:
相關用法
- Python CSV轉JSON用法及代碼示例
- Python CSV轉HTML Table用法及代碼示例
- Python Calendar itermonthdates()用法及代碼示例
- Python Calendar itermonthdays()用法及代碼示例
- Python Calendar itermonthdays2()用法及代碼示例
- Python Calendar itermonthdays3()用法及代碼示例
- Python Calendar itermonthdays4()用法及代碼示例
- Python Calendar iterweekdays()用法及代碼示例
- Python Calendar monthdatescalendar()用法及代碼示例
- Python Calendar monthdays2calendar()用法及代碼示例
- Python Calendar monthdayscalendar()用法及代碼示例
- Python Calendar yeardatescalendar()用法及代碼示例
- Python Calendar yeardays2calendar()用法及代碼示例
- Python Calendar yeardayscalendar()用法及代碼示例
- Python Condition acquire()用法及代碼示例
- Python Condition notify()用法及代碼示例
- Python Condition notify_all()用法及代碼示例
- Python Condition release()用法及代碼示例
- Python Condition wait()用法及代碼示例
- Python Collections.UserList用法及代碼示例
- Python Collections.UserDict用法及代碼示例
- Python Collections.UserString用法及代碼示例
- Python Celsius轉Fahrenheit用法及代碼示例
- Python Complex Number轉String用法及代碼示例
- Python Coordinate Dictionary轉Matrix用法及代碼示例
注:本文由純淨天空篩選整理自devashish_大神的英文原創作品 How to convert CSV File to PDF File using Python?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。