lista = [datetimeobject,'test',32]
リスト内のいずれかの要素が datetimeobject である場合、日付形式 (ie; 2012-01-01
) に変換し、引用符 "'" ie; で囲む必要があります。'2012-01-01'
どうすればそれを達成できますか?
lista = [datetimeobject,'test',32]
リスト内のいずれかの要素が datetimeobject である場合、日付形式 (ie; 2012-01-01
) に変換し、引用符 "'" ie; で囲む必要があります。'2012-01-01'
どうすればそれを達成できますか?
あなたが使用することができますrepr(str())
:
In [17]: x=datetime.date(2012,2,5)
In [18]: str(x) # actually returns repr(str(x)) in interactive prompt
Out[18]: '2012-02-05'
In [22]: print str(x) # doesn't adds ''
2012-02-05
In [23]: print repr(str(x)) # get '' around solution
'2012-02-05'
オブジェクトのdatetime.datetime
場合:
In [31]: str(y)
Out[31]: '2012-02-05 00:00:00'
In [32]: print repr(str(y)[:10])
'2012-02-05'
from datetime import datetime
convert_date = lambda dt: dt.strftime("'%Y-%m-%d'") if isinstance(dt, datetime) else dt
lista = [datetime.now(), 'test', 32]
map(convert_date, lista)
戻り値:
["'2012-10-19'", 'test', 32]