Python 如何将time.strtime用于满是长格式日期的文件

Python 如何将time.strtime用于满是长格式日期的文件,python,time,strptime,Python,Time,Strptime,我是python新手,正在尝试学习如何读取数据文件。我有一个带时间戳的文件: [2015-07-27T18:01:55.7647616+01:00 2015-07-27T18:01:55.7827840+01:00 2015-07-27T18:01:55.8142720+01:00 ..., 2015-07-27T18:04:05.3064192+01:00 2015-07-27T18:04:05.3419776+01:00 2015-07-27T18:04:05.3713280+01:00

我是python新手,正在尝试学习如何读取数据文件。我有一个带时间戳的文件:

[2015-07-27T18:01:55.7647616+01:00 2015-07-27T18:01:55.7827840+01:00
 2015-07-27T18:01:55.8142720+01:00 ..., 2015-07-27T18:04:05.3064192+01:00
 2015-07-27T18:04:05.3419776+01:00 2015-07-27T18:04:05.3713280+01:00]
我正在做:

times = np.loadtxt(filename, dtype=object)
print times[0]
num_records = np.size(times,0)
for date in range(num_records):
    print time.strptime(times[date], "%Y-%b-%dT%H:%M:%S.0000000+00:000")
但我得到了以下错误:

ValueError: time data '2015-07-27T18:01:55.7647616+01:00' does not match format '%Y-%b-%dT%H:%M:%S.0000000+00:000'

我想知道是否有人可以澄清如何匹配此时间格式的格式?最后,我想把那个日期转换成一个数字,这样我就可以对它进行统计。如何执行此操作?

您不会复制错误引发的物理格式

试试这个:

import datetime
now = datetime.datetime.now()
print now

默认情况下,它将以您想要的格式打印。

这是我能得到的最接近的格式(忽略微秒的最后一位和+01:00)

您也可以为此使用模块

示例/演示-

>>> import dateutil.parser
>>> dateutil.parser.parse('2015-07-27T18:01:55.7647616+01:00')
datetime.datetime(2015, 7, 27, 18, 1, 55, 764761, tzinfo=tzoffset(None, 3600))

在代码中-

import dateutil.parser
times = np.loadtxt(filename, dtype=object)
print times[0]
num_records = np.size(times,0)
for date in range(num_records):
    print dateutil.parser.parse(times[date])

那么,您为什么会认为
07
会匹配
%b
,例如,“月作为区域设置的缩写名”。所有时区都是
+01:00
?@jornsharpe,你说得对,那是个错误。我可以在这个月完成比赛,没问题。问题的关键是如何使微秒匹配,我在文档中找不到。非常感谢Anand,这非常有帮助
import dateutil.parser
times = np.loadtxt(filename, dtype=object)
print times[0]
num_records = np.size(times,0)
for date in range(num_records):
    print dateutil.parser.parse(times[date])