Re: [問題] 請問日期讀取語法

看板Python作者 (等待好結果)時間13年前 (2012/03/16 02:51), 編輯推噓3(3013)
留言16則, 4人參與, 最新討論串2/2 (看更多)
※ 引述《jet96344 (等待好結果)》之銘言: 不好意思我把問題說的不清楚 我把code放上來 這是python code http://0rz.tw/KEb1K 這是要跑的資料 含有日期與數據 http://dl.dropbox.com/u/10472787/python/CHIPR.day 我跑的時候出現的error 在第71行 錯誤訊息如下所示 File "PlotScripts/ComputeFutureSeasonalStreamFlowChanges.py", line 79, in <module> TmpDate = Date( atoi( TmpLine[0] ), atoi( TmpLine[1] ), atoi( TmpLine[2] ) ) File "/usr/lib/python2.6/string.py", line 403, in atoi return _int(s, base) ValueError: invalid literal for int() with base 10: '2001-01-01' 不知道這樣有清楚一點嗎 謝謝推文中的各位有給我意見 但是好像還是不行 希望前輩們可以給我一點建議 謝謝各位 : 大家好 : 我在跑別人給我的CODE時有點小問題 : 我的資料日期格式是 2001-01-01 這樣 : 可是程式讀取日期的寫法是這樣 : TmpDate= Date( atoi( TmpLine[0]), atoi( TmpLine[1]), atoi( TmpLine[2])) : 請問各位前輩我應該怎麼修改才可以讀取我格式 : 直接在中間加 - 嗎? : 先謝謝各位不吝指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.46.109.158

03/16 20:21, , 1F
TmpLine = split( strip( lines[idx] ) )
03/16 20:21, 1F

03/16 20:21, , 2F
改成 TmpLine = split( strip(lines[idx]) , "-" )
03/16 20:21, 2F

03/16 20:22, , 3F
試試看
03/16 20:22, 3F

03/16 21:40, , 4F
看起來原本接受的格式應該是類似 2012 03 16 這樣
03/16 21:40, 4F

03/16 21:41, , 5F
split 在沒有設定分隔符時預設的分隔符沒有包括 '-'
03/16 21:41, 5F

03/17 01:51, , 6F
m大我改了你的建議後還是有error
03/17 01:51, 6F

03/17 01:51, , 7F
invalid literal for int(): 01 5.3934554E 這是錯誤訊息
03/17 01:51, 7F

03/17 01:52, , 8F
是不是還需要改什麼才能讀 2001-01-01 <value>這種格式
03/17 01:52, 8F

03/17 02:02, , 9F
多用一次split先把 2001-01-01和 <value> 分開即可
03/17 02:02, 9F

03/17 02:59, , 10F
最簡單的改法:在 split 那行前面加一行
03/17 02:59, 10F

03/17 03:01, , 11F
lines[idx] = lines[idx].replace('-', ' ', 2)
03/17 03:01, 11F

03/17 03:01, , 12F
(當然效能上就不予置評)
03/17 03:01, 12F

03/17 11:01, , 13F
或是用 TmpLine=re.split("\s|-",strip(lines[idx]))
03/17 11:01, 13F

03/17 13:13, , 14F
f = "%Y-%m-%d"
03/17 13:13, 14F

03/17 13:13, , 15F
t = time.strftime(f, time.localtime())
03/17 13:13, 15F

03/17 13:14, , 16F
這樣呢@@?
03/17 13:14, 16F
文章代碼(AID): #1FOZfARR (Python)
討論串 (同標題文章)
文章代碼(AID): #1FOZfARR (Python)