a =['10-Sep-12','11-Sep-12','12-Sep-12','13-Sep-12','14-Sep-12','15-Sep-12','16-Sep-12','17- Sep-12','18-Sep-12','19-Sep-12','20-Sep-12','21-Sep-12','22-Sep-12','23-Sep-12']
for i in range (len(a)):
date = datetime.strptime(a[i], "%d-%b-%y")
為什么此代碼僅更改串列最后一個字串的日期時間格式?
print (date)
Output : 2012-09-23 00:00:00
如何修復此代碼?
uj5u.com熱心網友回復:
您date在回圈之外列印for,這就是為什么您獲得唯一的最后一個值。
執行此操作,您會看到每個字串都轉換為datetime.
a =['10-Sep-12','11-Sep-12','12-Sep-12','13-Sep-12','14-Sep-12','15-Sep-12','16-Sep-12','17-Sep-12','18-Sep-12','19-Sep-12','20-Sep-12','21-Sep-12','22-Sep-12','23-Sep-12']
for i in range (len(a)):
date = datetime.strptime(a[i], "%d-%b-%y")
print(date)
每當您運行回圈時,變數的值都會在每次迭代時發生變化。如果您在回圈外列印該變數,它只會列印該變數的最后一個值。在您的情況下,是第 14 次迭代中存盤在其中的值。
uj5u.com熱心網友回復:
因為您只在整個程序完成后列印一次日期。如果將 print 陳述句放在回圈中,它將列印所有 12 個日期。
uj5u.com熱心網友回復:
代碼在回圈的每次迭代中設定日期值,因此當回圈完成時,日期將保存它設定的最后一個值。
如果您在回圈中列印出它的值,您將看到每次執行的值都在變化。
import datetime
a =['10-Sep-12','11-Sep-12','12-Sep-12','13-Sep-12','14-Sep-12','15-Sep-12','16-Sep-12','17-Sep-12','18-Sep-12','19-Sep-12','20-Sep-12','21-Sep-12','22-Sep-12','23-Sep-12']
for i in range (len(a)):
date = datetime.datetime.strptime(a[i], "%d-%b-%y")
print(date)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/459853.html
下一篇:BigQuerySQL-將0更改為NULL,將NUMERIC更改為STRING型別和PARSEDATETIME(單個查詢)
