2013-05-27 20 views
19

ho stringhe di data come questo:Converti Data String al giorno della settimana

'January 11, 2010' 

e ho bisogno di una funzione che restituisce il giorno della settimana, come

'mon', or 'monday' 

ecc posso trovalo ovunque nell'aiuto di Python. Chiunque? Grazie.

+0

uso. http://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior per maggiori informazioni. – rajpy

risposta

42

È potrebbe voler utilizzare i metodi strptime and strftime da datetime:

>>> import datetime 
>>> datetime.datetime.strptime('January 11, 2010', '%B %d, %Y').strftime('%A') 
'Monday' 

o per 'Mon':

>>> datetime.datetime.strptime('January 11, 2010', '%B %d, %Y').strftime('%a') 
'Mon' 
1
>>> import time 
>>> dateStr = 'January 11, 2010' 
>>> timestamp = time.strptime(dateStr, '%B %d, %Y') 
>>> timestamp 
time.struct_time(tm_year=2010, tm_mon=1, tm_mday=11, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=11, tm_isdst=-1) 
5

Un parser di terze parti potrebbero essere utilizzati, come ad esempio dateutil.

E il codice per la tua domanda iniziale:

>>> from dateutil import parser 
>>> parser.parse('January 11, 2010').strftime("%a") 
'Mon' 
>>> parser.parse('January 11, 2010').strftime("%A") 
'Monday' 
0
import time 

time.strftime('%A') 
+0

Potresti aggiungere qualche contesto al tuo codice? – ppperry

0

Penso che il modo più veloce per farlo come di seguito: modulo datetime

df[Date_Column].dt.weekday_name 
Problemi correlati