有没有办法可以将巨大的 CSV 文件拆分为多个 PDF?

Is there a way I can split a huge CSV files into multiple PDF?

我正在尝试将一个大的 CSV 文件拆分成几个较小的 PDF 文件。在生成 PDF 方面需要一些帮助。

我可以将其拆分为多个 CSV 或 html 文件。但不确定是否有办法将数据框直接转换为 PDF 或将 HTML 转换为 PDF。这就是我所在的地方

import pandas as pd
import glob

path = r'C:\Users\ZhangZ01\Desktop\test\NT_combine.csv'
csv = glob.glob(path + "/*.csv")
df = pd.read_csv(path, index_col= None, header=0)
## Split data by "CUSTOMER_ID"
for i, g in df.groupby('CUSTOMER_ID'):
    g.to_html(r'C:\Users\ZhangZ01\Desktop\test\{}.html'.format(i), header=True, index_names = False)

我在网上搜索了一下,有人说我可以使用 pdfKit,但似乎 Windows 用户无法使用。

我该如何解决这个问题?

我不知道你是否绝对需要从 html 转换,但如果不需要,你可以使用 fpdf:

from fpdf import FPDF

data = [
  ["hello there", 3, 12],
  ["something", 312, 66],
  ["earsfg", 303, 95],
  ["earsfg", 303, 95],
  ["earsfg", 303, 95],
]

# prepare pdf
pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=18)

# write some data
for idx, line in enumerate(data):
  lineStr = "[{0}] {1}, {2}".format(line[0], line[1], line[2])
  pdf.cell(200, 8, txt=lineStr, ln=1, align="L")  

pdf.output("output.pdf")

有更深入的教程here

pdfKit 也适用于 windows,您只需:

1: pip 安装 pdfKit

2:然后去 this link 下载 pdfKit 工作所需的合适版本的 wkhtmlox

3: 添加 PATH_OF_wkhtmlox/bin 到你的系统变量 path

我在你的 python 脚本中添加以下行:

pdfkit.from_url('your-url.html', 'your_pdf.pdf')

别忘了import pdfkit