我正在尝试将一个大型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用户似乎无法使用它。
我该如何解决问题?
答案 0 :(得分:1)
pdfKit也可用于Windows,您所需要做的就是:
1:pip安装pdfKit
2:然后转到this link下载pdfKit工作所需的 wkhtmlox 的合适版本
3:将PATH_OF_wkhtmlox / bin添加到您的sys变量路径
然后我在您的python脚本中添加以下行:
pdfkit.from_url('your-url.html', 'your_pdf.pdf')
别忘了import pdfkit
答案 1 :(得分:0)
我不知道您是否绝对需要从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