2016-11-03 9 views
0

日付までの文字列を解析しようとするとエラーが発生します。dateutil.parserを使用して現在までの文字列を解析中にエラーが発生しました

ValueError: unknown string format

はここで面白い部分は、それがエラーをスローする前に、正しい日付を印刷している、である私のコード

dateString = "02/11/2016" 
print dateString 
dt = parse(dateString) 
item.date = calendar.timegm(dt.utctimetuple()) 
print dt 

です。ここに完全なログがあります

02/11/2016 2016-02-11 00:00:00 art. 10, comma 1, lettera e Traceback (most recent call last): File "institutional-docs.py", line 60, in dt = parse(dateString) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/dateutil/parser.py", line 697, in parse return DEFAULTPARSER.parse(timestr, **kwargs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/dateutil/parser.py", line 303, in parse raise ValueError, "unknown string format" ValueError: unknown string format

+0

それは私にとっては不思議そうですね。あなたは例からコードをカットアンドペーストしましたか?私が考えることができる唯一のものは、おそらく文字列に隠された文字のいくつかのタイプがあるということです。 –

+0

@ aquil.abdullah私はそれを確認する方法はありますか? – Kanishka

+0

@ aquil.abdullah私が使用しているデータは、廃棄されたデータから来ています。私はユニコード文字をエスケープしています。これは私が無視するために行っていることです 'unicodedata.normalize( 'NFKD'、dateString).encode( 'ascii'、 'ignore')' – Kanishka

答えて

1

timeを使用して何が問題になっていますか?

あなたの質問にはあなたのparse機能が何を指定していないので、それが奇妙な方法で文字列を読んでいると言うことはできません。誤った引用符をコピーして貼り付けた可能性があります。

import time 
time.strptime("02/11/2016", "%d/%m/%Y") 
+0

私が持っている文字列は、 "2 nov 2016"の形式です。/ – Kanishka

+0

'"%d%b%Y "'は時間モジュールを読み込みます。あなたはそれが扱うことができる多くのものに驚くでしょう – Tom

+0

それを試してみましょう。ありがとうございます – Kanishka

関連する問題