Χρησιμοποιώντας Strptime Όταν ορισμένα δεδομένα μικροδευτερόλεπτα & Μερικοί δεν

ψήφοι
0

Έχω ένα σύνολο δεδομένων με χορδές Είμαι μετατροπή σε DateTime. Δυστυχώς, μερικά από τα στοιχεία που έχει μικροδευτερόλεπτα και κάποια όχι. Όταν επιχειρούν να μετατρέψουν τα δεδομένα χρησιμοποιώντας την ακόλουθη, παίρνω το παρακάτω σφάλμα.

data['end_date'] = data['end_date'].apply(lambda x: datetime.strptime(str(x),%Y-%m-%d %H:%M:%S))    

ValueError: time data '2018-11-16 16:28:51' does not match format '%Y-%m-%d %H:%M:%S.%f'

Όταν αφαιρείτε το.% F παίρνω το εξής σφάλμα.

ValueError: unconverted data remains: .677215

Μπορεί κάποιος να με βοηθήσει με ένα απλό τρόπο για να κάνετε strptime πιο έξυπνη για να χειριστεί αυτές τις περιπτώσεις; Θα το εκτιμούσα πολύ!

Δημοσιεύθηκε 27/11/2018 στις 17:37
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
1

Δοκιμάστε αυτό

try:
    data['end_date'] = data['end_date'].apply(lambda x: datetime.strptime(str(x),"%Y-%m-%d %H:%M:%S"))
except ValueError:
    data['end_date'] = data['end_date'].apply(lambda x: datetime.strptime(str(x),"%Y-%m-%d %H:%M:%S.%f"))
Απαντήθηκε 27/11/2018 στις 17:56
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more