0

日付と時刻が のような文字列として格納される 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

あなたの目と経験が必要です。

4

0 に答える 0