2016-07-19 22 views
-1

Ich habe den folgenden Code. Die Variable transaction_date (die aus einem Pandas-Datenframe abgerufen wird) hat den Wert '03/04/2015 '. Wenn ich es jedoch mit der Saite '03/04/2015 'vergleiche, sind sie nicht gleich. Vergleichen Python Strings

for index, rows in df_per_line.iterrows(): 
    validations = rows['NB_VALID'] 
    transaction_date = rows['DATE_TRANSACTION'] 

    try: 
    map_date_validation['03/04/2015'][line_num] += validations 
     print 'first succeeded!' 
     print transaction_date 
     print type(transaction_date) 
     print type('03/04/15') 
     if transaction_date == '03/04/2015': 
      print 'YEAH!' 
     else: 
      print 'NAY!' 
     map_date_validation[transaction_date][line_num] += validations 
    except KeyError: 
     print 'weird date found!' 
     print transaction_date 
     #continue 

Der obige Code ergibt die folgende Ausgabe.

first succeeded! 
03/04/15 
<type 'str'> 
<type 'str'> 
NAY! 
weird date found! 
03/04/15 
Traceback (most recent call last): 
    File "rouen_ticket_parser.py", line 108, in <module> 
    print map_date_validation[transaction_date] 
KeyError: '03/04/15' 

Ich vermute, dass dies eine Art Abstands Problem ist, aber ich bin nicht sicher, wie es zu beheben. Kann ich noch etwas überprüfen, um zu sehen, wie diese Saiten anders sind?

Antwort

3

Die transaction_date ist '03/04/15'. Sie vergleichen es mit '03/04/2015'. Beachten Sie die 20.