2012-05-24 32 views
0

我在csv文件中有兩列,其中一列的格式爲hh:mm:ss,另一列的星期幾爲1,等於星期一, 7等於星期天。沒有與數據關聯的日期。在python strptime中添加星期幾到一段時間

我想將數據合併到一個字段中,從而時間將有一週中的某一天與之關聯。

我有好有strptime時間:

time.strptime(fl['journey']['BeginTime'][row], "%H:%M:%S") 

這給格式:

time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=23, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=1, tm_isdst=-1) 

對應的星期幾的數字存儲在下面的變量:

fl['journey']['Day'][row] 

任何幫助表示讚賞。

回答

2
date_string = '{0} {1}'.format(fl['journey']['Day'][row] - 1, 
           fl['journey']['BeginTime'][row]) 

dateobj = datetime.datetime.strptime(date_string, '%w %H:%M:%S') 
+0

由於寫的,這是不行的。 –

+2

'%A'取決於當前的語言環境,如果它已經是一個數字,爲​​什麼不使用'%w'。 – mata

+0

@mata,因爲我顯然沒有看到%w。 :) 謝謝。 – mayhewr

1
date_string = "%d %s" % (int(fl['journey']['Day'][row]) % 7 , 
         fl['journey']['BeginTime'][row]) 

date = time.strptime(date_string, '%w %H:%M:%S') 
1

這應該讓你去:

from datetime import datetime 

datetime.strptime("6 13:45:12", "%w %H:%M:%S").timetuple() 
time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=13, tm_min=45, tm_sec=12, tm_wday=0, tm_yday=1, tm_isdst=-1) 

記住在Python平日開始0 =週日,去,直到6

相關問題