如何将这些文件保存为一个文档文件。

问题描述 投票:0回答:1

能否将这么多的文件逐页保存在一个文件中?

import csv
import pandas as pd
from reportlab.pdfgen import canvas

dfa = pd.DataFrame({'STREAM':['EAGLE','HAWK','HAWK','HAWK','EAGLE','HAWK','EAGLE'],'MAT':['A','D','F','D','C','C','E'],'KIS':['B','D','E','D','A','C','D'],'GEO':['B','C','E','E','F','A','B']})

dfa.to_csv('results.csv',index=False)

students_data = csv.reader(open("results.csv", 'r'))

for row in students_data:
    STREAM = row[0]
    MAT = row[1]
    GEO = row[2]
    KIS = row[3]

    c = canvas.Canvas(MAT +".pdf")
    c.drawString(60, 700, "STREAM:  " + STREAM)
    c.drawString(60, 600, "MAT:  " + MAT)
    c.drawString(60, 500, "KIS:  " + KIS)
    c.drawString(60, 400, "GEO:  " + GEO)
    c.save()

这段代码所做的是分别保存每个文件,处理起来有点重.谁有办法可以帮到你?

python reportlab
1个回答
1
投票

你可以这样处理。

import csv
import pandas as pd
from reportlab.pdfgen import canvas

dfa = pd.DataFrame({'STREAM':['EAGLE','HAWK','HAWK','HAWK','EAGLE','HAWK','EAGLE'],'MAT':['A','D','F','D','C','C','E'],'KIS':['B','D','E','D','A','C','D'],'GEO':['B','C','E','E','F','A','B']})

dfa.to_csv('results.csv',index=False)

students_data = csv.reader(open("results.csv", 'r'))

c = canvas.Canvas("combined.pdf")
for row in students_data:
    STREAM = row[0]
    MAT = row[1]
    GEO = row[2]
    KIS = row[3]

    c.drawString(60, 700, "STREAM:  " + STREAM)
    c.drawString(60, 600, "MAT:  " + MAT)
    c.drawString(60, 500, "KIS:  " + KIS)
    c.drawString(60, 400, "GEO:  " + GEO)
    c.showPage()

c.save()
© www.soinside.com 2019 - 2024. All rights reserved.