2012-05-24 31 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

相关问题