Python 如何将CSV文件转换为PDF文件

Python 如何将CSV文件转换为PDF文件

在今天的世界中,数据以前所未有的速度生成,能够有效地管理和展示数据至关重要。CSV文件通常用于存储和传输系统之间的数据,但有时需要将这些数据转换为更易读的格式,比如PDF。

Python凭借其丰富的库提供了一种简单高效的方法来将CSV文件转换为PDF文件。

在本文中,我们将探讨使用Python将CSV文件转换为PDF文件的步骤,并提供一个示例代码供您参考。无论您是数据分析师、科学家还是只是想提高数据展示技巧的人,本指南将帮助您轻松地将CSV文件转换为PDF文件。

以下是我们将使用的方法,用于将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后创建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”文件的截图。

Python 如何将CSV文件转换为PDF文件

结论

总之,使用Python将CSV文件转换成PDF文件可以通过使用pandas和pdfkit库来实现。

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程