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