ich habe eine Excel-Datei mit einem Sheet, das bereits nach einem bestimmten Kriterium in einer Spalte (Wert 1) gefiltert ist. Dadurch verringert sich entsprechend die Zeilenanzahl. Nun kopiere ich per xlutils.copy dieses gefilterte Sheet. Ziel: Nur noch die übriggebliebenen Zeilen sollen in der fertigen Exceldatei übrigbleiben. Das hat auch ganz wunderbar geklappt, das Filterzeichen in der Spalte oben ist verschwunden. Als ich jedoch testweise die entsprechenden übriggebliebenen Zeilen in der neuen Datei kopiert habe (z.B. 5 Zeilen), staunte ich nicht schlecht, als ich beim Einfügen alle ursprünglichen Zeilen (!) (z.B. 100) eingefügt bekam, d.h. alle Zeilen sind also (teilweise) versteckt noch in der neuen Datei zu finden.
Daher meine Frage: Wie kann ich erreichen, dass er mir wirklich nur die nach Filterung in der ersten Datei sichtbaren Zeilen in das neue Sheet kopiert? Bisheriger Code (knapp umrissen):
Code: Alles auswählen
inBook = xlrd.open_workbook('Eingabedatei.xls', formatting_info=True)
# Kopieren der Eingabedatei
for sheet in inBook.sheets():
datei_final = xlutils.copy.copy(inBook)
datei_final.save('Ausgabedatei.xls')