2016-08-11 8 views
1

Sehr frustriert neuer Python-Benutzer hier. Ich hatte Code an einem Punkt ausgeführt und ging dann zu anderen Dingen und jetzt funktioniert es nicht.Python - Schleife durch nicht leere Excel-Zellen

Durchläuft nicht leere Zellen in der Spalte 'J' einer XLSX-Datei. Für die Zellen, die Text enthalten, wird das Datum in der Spalte "A" betrachtet. Wenn das Datum in Spalte A gleich 7 Tagen in der Zukunft ist, drucken Sie "Sie sind für eine Verschiebung fällig."

Sehr frustrierend, weil es an einem Punkt funktionierte und ich weiß nicht, wo es schief gelaufen ist.

workbook = load_workbook('FRANKLIN.xlsx', data_only=True) 
ws=workbook.active 

cell_range = ws['j1':'j100'] #Selecting the slice of interest 

for row in cell_range: # This is iterating through rows 1-7 
for cell in row: # This iterates through the columns(cells) in that row 
     value = cell.value 
     if cell.value: 
      if cell.offset(row=0, column =-9).value.date() == (datetime.now().date() + timedelta(days=7)): 
       print("you're due for a shift") 

Ich bekomme diesen Fehler für die vorletzte Zeile.

"AttributeError: 'str' object has no attribute 'date'"

+1

Niemals! Ich hatte einen leeren Wert in J3, aber eine Zeichenkette in A3 Offset. –

+0

Sie können eine Antwort auf Ihre eigene Frage posten oder Sie können diese einfach löschen ... – bernie

+0

Danke, @bernie. Ich beantwortete es –

Antwort

1

Nevermind ... Ich hatte einen leeren Wert in J3 mit einem String in A3, die es aus wirft. Also muss ich weiter lernen und prüfen, ob ein Wert ein Datum ist und wenn nicht, ignorieren.