Hi,
wie finde ich raus, welches die nächste freie Zelle in Excel ist?
Das heißt ich habe beispielsweise A1-A5 gefüllt und mein Python Programm soll abfragen, welche die nächste freie ist. Rauskommen
müsste somit A6.
Wie lautet der Befehl dafür?
MfG
Frei Excel Zelle finden
- mkesper
- User
- Beiträge: 919
- Registriert: Montag 20. November 2006, 15:48
- Wohnort: formerly known as mkallas
- Kontaktdaten:
Code: Alles auswählen
import xlrd
def main(name):
book = xlrd.open_workbook(name)
for sheet in book.sheets():
print sheet.name
for row in xrange(sheet.nrows):
row_content = sheet.row_values(row)
print row_content
for col_index, cell in enumerate(row_content):
print cell, col_index
if cell == "":
print "Leere Zelle: %s%i" % (chr(ord("A") + row), col_index + 1)
break
else:
print "Leere Zelle: %s%i" % (chr(ord("A") + row), col_index + 1)
if __name__ == '__main__':
main("Mappe.xls")
-
- User
- Beiträge: 25
- Registriert: Mittwoch 23. April 2008, 13:47
Geht das auch irgendwie ohne zusätzliches xlrd Modul?
Genauso würde ich gerne von oben nach unten den Zeilenindex zählen, natürlich nur bis zur letzten befüllten Zeile.
MfG
Genauso würde ich gerne von oben nach unten den Zeilenindex zählen, natürlich nur bis zur letzten befüllten Zeile.
MfG
- mkesper
- User
- Beiträge: 919
- Registriert: Montag 20. November 2006, 15:48
- Wohnort: formerly known as mkallas
- Kontaktdaten:
Mit Modulen aus der Standardlib kannst du nur csv-Dateien lesen.
Was meinst du mit Zeilenindex zählen?
Die letzte befüllte Zeile wird durch sheet.nrows angegeben, wie in dem Snippet.
Was meinst du mit Zeilenindex zählen?
Die letzte befüllte Zeile wird durch sheet.nrows angegeben, wie in dem Snippet.
-
- User
- Beiträge: 25
- Registriert: Mittwoch 23. April 2008, 13:47
Hi,
ich habe es nun mit Hilfe des xlrd Moduls gemacht. Bekomme aber leider immer eine Fehlermeldung, da im Excel Sheet Umlaute enthalten sind.
So sieht der Code dazu aus. Ich habe zwar eine Codierung drin, aber entweder ist sie falsch oder ich habe noch etwas vergessen?
MfG
ich habe es nun mit Hilfe des xlrd Moduls gemacht. Bekomme aber leider immer eine Fehlermeldung, da im Excel Sheet Umlaute enthalten sind.
Code: Alles auswählen
workbook = xlrd.open_workbook(self.txtFile.GetValue(), encoding_override="cp1252")
for worksheet in workbook.sheets():
if worksheet.name == "NewVersion":
for row in xrange(worksheet.nrows):
if row > 0:
row_content = worksheet.row_values(row)
for index, cell in enumerate(row_content):
print cell, index
MfG
Wo kommt denn die Fehlermeldung und wie lautet sie genau? Insbesondere wenn die Kodierung nicht von Dir vorgegeben wird. Ich habe den Verdacht, dass sie dann beim ``print`` kommt!? Das hätte dann nichts mit der Kodierung in der Excel-Datei zu tun, sondern dass Du explizit angeben müsstest wie die Daten bei der Ausgabe per ``print`` kodiert werden sollen.