日付と時刻が のような文字列として格納される SQLite3 データベースがあり、"Tue Aug 06 20:13:58 CEST 2013"
一部のデータを CSV ファイルに抽出する必要があります。
データベース、接続、およびカーソルを開く方法 (読み取り) と、出力 CSV ファイルを書き込み用に開く方法 (csv
モジュールを使用) を知っています。
日時文字列は文字列に変換する必要があります。"YYYYMMDD"
つまり"20130806"
、上記の場合です。
私の考えは、 を使用して、後でフォーマットされた値を生成するために使用されるオブジェクトdatetime.datetime.strptime("Tue Aug 06 20:13:58 CEST 2013"
, frm)
を取得することでした。datetime
ただし、次のエラーが表示されます。
Traceback (most recent call last):
File "a.py", line 18, in <module>
dt = datetime.datetime.strptime(s, frm)
File "C:\Python33\lib\_strptime.py", line 500, in _strptime_datetime
tt, fraction = _strptime(data_string, format)
File "C:\Python33\lib\_strptime.py", line 337, in _strptime
(data_string, format))
ValueError: time data 'Tue Aug 06 20:13:51 CEST 2013' does not match format
'%a %b %m %H:%M:%S %Z %Y'
私が使用しているので、ロケールに問題があると思いました...
>>> import locale
>>> locale.getdefaultlocale()
('cs_CZ', 'cp1250')
ただし、ロケールを'en'
、en_us
などに設定することはできません。
>>> locale.setlocale(locale.LC_ALL, 'en')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python33\lib\locale.py", line 541, in setlocale
return _setlocale(category, locale)
locale.Error: unsupported locale setting
あなたの目と経験が必要です。