Python 有没有办法将一个巨大的CSV文件拆分成多个PDF?

Python 有没有办法将一个巨大的CSV文件拆分成多个PDF?,python,windows,pandas,read.csv,Python,Windows,Pandas,Read.csv,我正在尝试将一个大的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, i

我正在尝试将一个大的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")

还有一个更深入的教程

pdfKit也可用于windows,您需要做的只是:

1:pip安装pdfKit

2:然后转到下载pdfKit工作所需的wkhtmlox的合适版本

3:将_wkhtmlox/bin的路径_添加到系统变量路径

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

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

别忘了导入pdfkit

嗨!我没有windows电脑可以尝试,但你尝试过pypdf吗?你真的需要从html转换吗?嗨,巴斯蒂安,只要我能得到PDF,就不需要从html转换。csv或dataframe直接转换为PDF也是完美的。您可以在windows Hi上再次安装wsl!请你把其中一个答案标为已接受好吗?此外,我认为这个问题应该重新表述:在我看来,这与csv无关,而是使用python生成PDF。你从哪里获得数据并不真正相关。我推荐一个。