2017-05-17 8 views
0

私はこれをやったと思っていましたが、何か根本的なものが私を引きつけています。forループで失敗したPythonの日付変換

私はこのようになります日付のリストがあります:

dates[0:5] 

['September 30 2016', 
'September 6 2016', 
'September 13 2016', 
'October 13 2016', 
'October 13 2014'] 

をそして、私は構造化時間に変換だけでなく、Excelが理解できるものにバックアウトするだけでなく、したい - それが私の協力者が何であるかだからExcelを使用して上記のエントリを認識していないと、他の185、日付(何らかの理由で...私は試してみました)。

date_in = time.strptime(dates[3], "%B %d %Y") 
date_out = time.strftime("%Y-%m-%d", date_in) 
print(date_out) 

2016-10-13 

ラブリー:

だから、私はいくつかのテストコードを書きました。しかし、文字列を処理するためにループをforに入れると、エラーが発生します。ここで

はループです:

stripped = [] 
for item in dates: 
    raw = time.strptime(item, "%B %d %Y") 
    stripped.append(raw) 

そして、ここでエラーがあります:

ValueError: unconverted data remains: updated September 30 2016 

私は上記forループは私がやりたいと何をしません知っているのでご注意ください:私がしようとしていましたそれを失敗点に戻す。私の元のコードはた:

for the_date in dates: 
    time.strftime("%Y-%m-%d", time.strptime(the_date, "%b %d %Y")) 
+1

2016年9月30日に更新されたような、あなたの文字列に無関係なものがあるようですが、 'except:try':except'を使用して' except'ブロック内の問題の 'item'を出力できますか? –

+0

元の質問@ juanpa.arrivillagaに不適切な書式を設定していただきありがとうございます。 –

+0

実際、あなたは正しいのです。問題は入力にあります。 –

答えて

1

あなたは形式でマイナーな間違いを持っ​​ています。フォーマットを"%b %d %Y"から"%B %d %Y"に変更するだけです。また、短いスニペットを追加します:

import time 

dates = [ 
    'September 30 2016', 
    'September 6 2016', 
    'September 13 2016', 
    'October 13 2016', 
    'October 13 2014'] 

#              ↓ 
print([time.strftime("%Y-%m-%d", time.strptime(date, "%B %d %Y")) for date in dates]) 

# ['2016-09-30', '2016-09-06', '2016-09-13', '2016-10-13', '2014-10-13'] 
+0

ちょっとした間違いは、単にコードをコピーして貼り付けるのではなく、私が質問を投稿したときにエラーを追加しました。ごめんなさい! –

0

juanpa.arrivillagaが正しいです。

for item in dates: 
    try: 
     raw = time.strptime(item, "%B %d %Y") 
     stripped.append(raw) 
    except ValueError: 
     print(item, dates.index(item)) 
と私は見ていないデータ/入力の問題を持っている:私は try/exceptが含まれるようにコードを変更しました。 (それは私があまりにも早く作業のために何を得るのです。)

ここ

ある最初の3、記録のために:今すぐ

August 26 2016 updated September 30 2016 23 
Septmeber 1 2016 25 
12/1/2016 46 

私はいくつかのコードを追加します私はtry/exceptを使用することができます実現していることjuanpaを変更するにはそれらの日付は、私が望む形式への3行目のようなもので、本当に不吉な行だけを残しています。

関連する問題