如何使用Python将CSV文件转换为PDF文件?

如何使用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是一个Python包装器,用于把HTML文件转换为PDF文件。它通过在Python脚本内部调用wkhtmltopdf工具来实现这一目的。

假设我们有一个名为inputs.csv的CSV文件,其中包含以下数据。

inputs.csv

姓名, 年龄, 职业
约翰, 32, 工程师
简, 28, 教师
鲍勃, 45, 推销员

将CSV文件转换为HTML

现在让我们关注第一步,即将上述CSV文件作为输入并将其转换为HTML文件。

示例

考虑下面所示的代码。

main.py

# 导入pandas库
import pandas as pd

# 将CSV文件读入pandas数据帧中
df = pd.read_csv('inputs.csv')

# 将数据帧转换为HTML表格
html_table = df.to_html()

# 将HTML表格打印到控制台
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>姓名</th>
         <th>年龄</th>
         <th>职业</th>
      </tr>
   </thead>
   <tbody>
      <tr>
         <th>0</th>
         <td>John</td>
         <td>32</td>
         <td>工程师</td>
      </tr>
      <tr>
         <th>1</th>
         <td>Jane</td>
         <td>28</td>
         <td>教师</td>
      </tr>
      <tr>
         <th>2</th>
         <td>Bob</td>
         <td>45</td>
         <td>销售员</td>
      </tr>
   </tbody>
</table>

将HTML转换为PDF

为了能够在将CSV转换为HTML后创建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

安装成功后,我们可以运行下面的命令。

python3 main.py

当我们在终端中运行上述命令时,将在同一文件夹中创建一个名为outputs.pdf的新文件。

下面附有“输出.pdf”文件的截图。

如何使用Python将CSV文件转换为PDF文件?

结论

总之,使用Python将CSV文件转换为PDF可以使用pandas和pdfkit库进行操作。

首先,通过pandas将CSV文件转换为HTML表格,然后使用pdfkit库将HTML转换为PDF。使用这种方法,可以从CSV数据生成格式良好、可打印的PDF文档。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程