我有一个包含以下内容的json文件,我想将其字符串值转换为日期时间对象:
[" 2014-01-20 00:01:31"," 2014-01-20 00:01:51"," 2014-01-20 00 :02:12"]
我认为我需要创建一个for循环并迭代字符串值并使用strptime方法转换它们。我不确定如何创建for循环,以便正确迭代字符串值。
我认为它应该如下:
for items in data:
dateTime = datetime.strptime(items, '%Y-%m-%d %H:%M:%S')
print dateTime
任何帮助将不胜感激。
答案 0 :(得分:1)
您的循环没问题,但如果您想要一个日期时间对象列表,请使用list comp
:
from datetime import datetime
data = ["2014-01-20 00:01:31", "2014-01-20 00:01:51", "2014-01-20 00:02:12"]
print [datetime.strptime(x.rstrip(),'%Y-%m-%d %H:%M:%S') for x in data]
[datetime.datetime(2014, 1, 20, 0, 1, 31), datetime.datetime(2014, 1, 20, 0, 1, 51), datetime.datetime(2014, 1, 20, 0, 2, 12)]
x.rstrip()
会删除换行符
答案 1 :(得分:0)
在Python for循环中,可以迭代任何类型的元素(大多数容器,尤其是list
,可以包含不同类型的元素)。它只需要元素之后的元素并将其绑定到for
语句中使用的名称:
dates = ["2014-01-20 00:01:31", "2014-01-20 00:01:51", "2014-01-20 00:02:12"]
for dt in dates:
dateTime = datetime.strptime(dt, '%Y-%m-%d %H:%M:%S')
print dateTime