我正在尝试将日期(“2017-01-25T09:00”)转换为%Y-%m-%d%H:%m,但失败
我尝试使用strtime(),但得到TypeError:strtime()参数1必须是str,而不是list
我需要在我单子上的每一项上都试一下吗?名单上的日期显示了更多的感谢一次。你知道吗
代码中的步骤:
以下是我目前正在尝试的:
for line in body:
#newMessageDate = line.get('messagedate')
if line:
date_formats = ["%Y-%m-%d%T%H:%M"]
for date_fmt in date_formats:
try:
line = datetime.datetime.strptime(line, date_fmt).strftime('%Y-%m-%d %H:%M')
except ValueError:
continue
else:
break
输出csv文件的精简版本如下:
driver,id,startdate,startlocation,finsihlocation,finsihtime
Driver 1,3,2016-09-21T12:02,Dublin,2016-09-21T15:02
Driver 2,4,2016-09-21T12:02,Dublin,2016-09-21T15:02
提前谢谢!你知道吗
似乎您正在使用
DictReader
从CSV文件读取数据。这意味着line
是一个字典,包含当前行中的键及其值,如当前注释行#newMessageDate = line.get('messagedate')
所示。你知道吗在这种情况下,应该使用
line.get('messagedate')
而不是line
本身。你知道吗(我跳过循环和
try/except
,因为它们没有改变。)不幸的是,您没有说明
line
的确切外观。从最新的评论来看,似乎你读的不是CSV而是JSON,line
是list
而不是dict
。在这种情况下,必须使用相应的索引来访问date元素,例如newMessageDate = line[3]
(假设日期位于列表的第四个位置)。剩下的答案仍然成立。你知道吗相关问题 更多 >
编程相关推荐