看板 Python 關於我們 聯絡資訊
※ 引述《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
mantour:TmpLine = split( strip( lines[idx] ) ) 03/16 20:21
mantour:改成 TmpLine = split( strip(lines[idx]) , "-" ) 03/16 20:21
mantour:試試看 03/16 20:22
uranusjr:看起來原本接受的格式應該是類似 2012 03 16 這樣 03/16 21:40
uranusjr:split 在沒有設定分隔符時預設的分隔符沒有包括 '-' 03/16 21:41
jet96344:m大我改了你的建議後還是有error 03/17 01:51
jet96344:invalid literal for int(): 01 5.3934554E 這是錯誤訊息 03/17 01:51
jet96344:是不是還需要改什麼才能讀 2001-01-01 <value>這種格式 03/17 01:52
mantour:多用一次split先把 2001-01-01和 <value> 分開即可 03/17 02:02
uranusjr:最簡單的改法:在 split 那行前面加一行 03/17 02:59
uranusjr:lines[idx] = lines[idx].replace('-', ' ', 2) 03/17 03:01
uranusjr:(當然效能上就不予置評) 03/17 03:01
mantour:或是用 TmpLine=re.split("\s|-",strip(lines[idx])) 03/17 11:01
ltroot:f = "%Y-%m-%d" 03/17 13:13
ltroot:t = time.strftime(f, time.localtime()) 03/17 13:13
ltroot:這樣呢@@? 03/17 13:14