Seite 1 von 1
Letzte Zeile in Excel
Verfasst: Samstag 20. Juli 2024, 18:24
von forumseeker
Hallo,
ich bin neu hier und arbeite mich neu in Python ein.
Ich benötige die letzte unbeschriebene Zeile, aber das Problem ist, die Spalte A ist mit fortlaufenden Nummern belegt. D.h. wenn ich über openpyxl mir die letzte aktive Zelle ausgebe, dann kommt immer die letzte Zeile der eingebenen Spalte A. Ich will aber, dass der letzte Wert z.B. der Spalte B ausgegeben wird. Kann man das machen und wenn ja, wie?
Gruss,
Andreas
Re: Letzte Zeile in Excel
Verfasst: Samstag 20. Juli 2024, 19:33
von karolus
Ich will aber, dass der letzte Wert z.B. der Spalte B ausgegeben wird. Kann man das machen und wenn ja, wie?
Code: Alles auswählen
import openpyxl
wb = openpyxl.open("/dein/pfad/zur/…….xlsx")
lastvalue = wb["Tabelle11"]["B"][-1].value #der letzte Wert von Spalte B in Tabelle11
print(lastvalue)
Re: Letzte Zeile in Excel
Verfasst: Montag 22. Juli 2024, 12:52
von forumseeker
Vielen Dank für den Tipp, aber funktioniert leider nicht, da openpyxl offensichtlich die Zellen "daneben" auch als befüllte Zellen sieht, obwohl sie leer sind.
Zur Verdeutlichung: in Spalte A wird von mir eine fortlaufende Inventar-Nummer eingetragen. Die trage ich schon mal vor. Sobald ein Benutzer etwas inventarisiert, befüllt er die nächste freien Zellen mit den entprechenden Werten.
Gruss,
Andreas
Re: Letzte Zeile in Excel
Verfasst: Montag 22. Juli 2024, 13:22
von Sirius3
Du mußt definieren, was bei Dir "letzte Zeile" heißt. Und dieses Kriterium mußt Du explizit prüfen. Zum Beispiel, die letzte Zelle, die noch einen Wert enthält:
Code: Alles auswählen
cell = [cell for cell in wb["Tabelle11"]["B"] if cell.value is not None][-1]
Re: Letzte Zeile in Excel
Verfasst: Montag 22. Juli 2024, 14:00
von grubenfox
Wobei der Wert der in einer Zelle steht zum Beispiel auch einfach nur aus Leerzeichen bestehen kann...
Re: Letzte Zeile in Excel
Verfasst: Dienstag 23. Juli 2024, 08:51
von __blackjack__
@forumseeker: Benötigst Du tatsächlich „die letzte unbeschriebene Zeile“? Denn dann wäre ja tatsächlich die Frage was das sein soll und in Relation zu was. Welche Spalte bestimmt denn die Zeilenanzahl? Spalte A hast Du ja schon mal ausgeschlossen. Oder suchst Du in Wirklichkeit die *erste* unbeschriebene Zelle in Spalte B? Kann/darf es Lücken in Spalte B geben? Was soll passieren wenn eine Lücke vorhanden ist, auch wenn es die nicht geben darf? Was soll passieren wenn Spalte B bereits voll ist, und wie ist das definiert?