2017-11-13 15 views
0

私は、欧州フォーマット(%d/%m/%Y)で日付の束を持っています。 日付を再フォーマットしようとしていますので、日付は(%m/%d/%Y)です。私はそれを実行するたびに 、次のエラーが識別されます。日付を再フォーマットするのに問題があります

ValueError: time data '2' does not match format '%m/%d/%Y' 

誰もが私が修正するために必要なものを知っていますか? ご協力いただきありがとうございます!

from datetime import datetime 
import time 
from time import mktime 


Transaction_Date=[ 
"23/08/2017", 
"23/08/2017", 
"21/08/2017", 
"01/10/2017", 
"19/08/2017", 
"19/08/2017", 
"18/08/2017", 
"03/09/2017", 
"27/09/2017", 
"26/08/2017", 
"03/10/2017", 
"27/09/2017", 
"27/03/2017", 
"02/08/2017", 
"20/08/2017", 
"20/08/2017", 
"20/08/2017", 
"20/08/2017", 
"20/08/2017", 
"20/08/2017"] 

for row in Transaction_Date: 
    Transaction_Date = row[0] 
    Transaction_Date = datetime.strptime(Transaction_Date,'%d/%m/%Y').strftime('%m/%d/%Y') 
    print(Transaction_Date) 

は、次のエラー与える:私が言うことができるものから、

ValueError: time data '2' does not match format '%m/%d/%Y' 

を、日付の形式が正しいか、なぜシステムが違うと言っていますか?

+1

'row'の0番目のインデックスを使用しないでください。ですから、各文字列の最初の文字を選んでいる 'row'ではなく、' row [0] 'ではありません。 – roganjosh

+0

コードの書式も修正してください。私は電話のように私はあなたのためにそれをすることはできません。コードブロックを強調表示し、エディタで '{}'ボタンをクリックするか、ctrl + k – roganjosh

答えて

0

を使用している 、収集し、あなたの結果の両方に同じ名前(Transition_Date)を使用して

をあなただけの内部rowを使用する必要がありますあなたのループは次のようになります:

from datetime import datetime 

Transaction_Dates = [ 
    "23/08/2017", "23/08/2017", "21/08/2017", "01/10/2017", 
    "19/08/2017", "19/08/2017", "18/08/2017", "03/09/2017", 
    "27/09/2017", "26/08/2017", "03/10/2017", "27/09/2017", 
    "27/03/2017", "02/08/2017", "20/08/2017", "20/08/2017", 
    "20/08/2017", "20/08/2017", "20/08/2017", "20/08/2017"] 

for row in Transaction_Dates: 
    print(datetime.strptime(row, '%d/%m/%Y').strftime('%m/%d/%Y')) 

次のように表示されます:

08/23/2017 
08/23/2017 
08/21/2017 
10/01/2017 
08/19/2017 
08/19/2017 
08/18/2017 
09/03/2017 
09/27/2017 
08/26/2017 
10/03/2017 
09/27/2017 
03/27/2017 
08/02/2017 
08/20/2017 
08/20/2017 
08/20/2017 
08/20/2017 
08/20/2017 
08/20/2017 
0

あなたのコード2つのミスがあります - あなたはrow[0]代わりのrow

from datetime import datetime 
import time 
from time import mktime 

Transaction_Date_Collection = [ "23/08/2017", "23/08/2017", "21/08/2017", "01/10/2017", "19/08/2017", "19/08/2017", "18/08/2017", "03/09/2017", "27/09/2017", "26/08/2017", "03/10/2017", "27/09/2017", "27/03/2017", "02/08/2017", "20/08/2017", "20/08/2017", "20/08/2017", "20/08/2017", "20/08/2017", "20/08/2017"] 

for Transaction_Date in Transaction_Date_Collection: 
    Transaction_Date = datetime.strptime(Transaction_Date,'%d/%m/%Y').strftime('%m/%d/%Y') 
    print(Transaction_Date) 
関連する問題