Ich habe ein Excel-Blatt, in dem ich für jede Zeile einige Dropdown-Punkte habe.
Es gibt 3 Dropdown-Menüs / Elemente für jede Zeile.
Wenn ich die Daten über Pandas herunterlade, lade ich die Daten gut (glaube ich).
Wenn ich diese Daten habe, mache ich einige Adressen für sie, damit sie auf einige physische PDF-Dateien verweisen. Dies funktioniert auch.
Aber wenn ich die 3 Punkte / PDF-Dateien markieren muss, geht es schief.
In der ersten Datenzeile wird ein PDF mit drei Seiten erstellt.
Aber dann macht Zeile 2 plötzlich ein 9-seitiges PDF.
Ich kann nicht sehen, was falsch läuft, alle Zeilen haben nur 3 Punkte, die aus einigen Dropdown-Menüs ausgewählt werden. Daher muss jede PDF-Datei auch nur 3 Seiten enthalten, wenn sie über PyPDF2 zusammengeführt werden.
Gibt es hier jemanden, der mir helfen kann?
Code: Alles auswählen
import os
import datetime
import pandas as pd
import PyPDF2 as pdf2
pdfWriter = pdf2.PdfFileMerger()
my_date = datetime.date.today() #The date now
week_num = my_date.isocalendar()[1] #0=Year, 1=week
df = pd.read_excel(r'Resources\liste.xlsx', sheet_name='Ark1')
#print(df)
for row in df.itertuples():
filepdfweek = str(week_num+1) #This week from datetime.date.today + 1 to week = next week
fileyear = row[1] #row['Aargang']
filepdf1 = row[2] #row['Oevelse1']
filepath1 = os.path.join('C:/Users/TH/Documents/PDF/' + filepdf1 + '.pdf')
filepdf2 = row[3] #row['Oevelse2']
filepath2 = os.path.join('C:/Users/TH/Documents/PDF/' + filepdf2 + '.pdf')
filepdf3 = row[4] #row['Oevelse3']
filepath3 = os.path.join('C:/Users/TH/Documents/PDF/' + filepdf3 + '.pdf')
pdfs = [filepath1, filepath2, filepath3]
for pdf in pdfs:
pdfWriter.append(open(pdf, 'rb'))
pdfOutput = open('Uge ' + filepdfweek + ' - ' + fileyear + ' Merged_doc.pdf', 'wb')
pdfWriter.write(pdfOutput)
pdfOutput.close()