将str(时间)转换为包含其他数据的日期格式

时间:2014-12-13 10:40:58

标签: datetime python-3.x

我的数据格式为:

['12,Dec,2014, 02,15,28,31,37,04,06', '9,Dec,2014, 01,03,31,42,46,04,11',...]

我正在尝试使用以下命令将str(日期组件)转换为日期格式:

   new_data =''
   for line in date_data:              
       line = datetime.datetime.strptime(str(line), "%d,%b,%Y")
       new_data = new_data + line
   print(new_data)

至少'例程识别日期部分,但对数字无效。我怎么能克服这个问题呢。我已经尝试使用%作为跟随日期的多个字符而没有成功。我之前从未使用过时间模块。 我想要实现的是将每个数字与它出现的日期相关联。我试图通过自己的方式教自己解析文本文件

1 个答案:

答案 0 :(得分:1)

如果使用逗号后跟空格将日期与数字分开,则可以使用line.split(', ', 1)将该行拆分为两部分。 然后你可以调用datetime.datetime.strptime来解析日期。

import datetime as DT
date_data = ['12,Dec,2014, 02,15,28,31,37,04,06', '9,Dec,2014, 01,03,31,42,46,04,11']

for line in date_data:
    part = line.split(', ', 1)
    date = DT.datetime.strptime(part[0], '%d,%b,%Y').date()
    numbers = map(int, part[1].split(','))
    print(date, numbers)

产量

(datetime.date(2014, 12, 12), [2, 15, 28, 31, 37, 4, 6])
(datetime.date(2014, 12, 9), [1, 3, 31, 42, 46, 4, 11])