0

我正在以这种方式解析文件:

for d in csvReader:
    print datetime.datetime.strptime(d["Date"]+"-"+d["Time"], "%d-%b-%Y-%H:%M:%S.%f").date()

date() 返回:2000-01-08,这是正确的

time() 返回:06:20:00,这也是正确的

我将如何返回诸如“日期+时间”“日期+小时+分钟”之类的信息

编辑

对不起,我应该更精确,这是我想要实现的目标:

lmb = lambda d: datetime.datetime.strptime(d["Date"]+"-"+d["Time"], "%d-%b-%Y-%H:%M:%S.%f").date()

daily_quotes = {}
for k, g in itertools.groupby(csvReader, key = lmb):
    lowBids = []
    highBids = []
    openBids = []
    closeBids = []
    for i in g:

        lowBids.append(float(i["Low Bid"]))
        highBids.append(float(i["High Bid"]))
        openBids.append(float(i["Open Bid"]))
        closeBids.append(float(i["Close Bid"]))

    dayMin = min(lowBids)
    dayMax = max(highBids)
    open = openBids[0]
    close = closeBids[-1]

    daily_quotes[k.strftime("%Y-%m-%d")] = [dayMin,dayMax,open,close]

如您所见,现在我按天对值进行分组,我想按小时(我需要 date + hour )或分钟( date + hour + minute )对它们进行分组

提前致谢 !

4

1 回答 1

1

不要使用您从中获取date的对象的方法。取而代之的是,直接应用到从 的返回,这使您可以访问所有成员字段,包括年、月、日、小时、分钟、秒等......datetimestrptimestrftimestrptime

d = {"Date": "01-Jan-2000", "Time": "01:02:03.456"}
dt = datetime.datetime.strptime(d["Date"]+"-"+d["Time"], "%d-%b-%Y-%H:%M:%S.%f")
print dt.strftime("%Y-%m-%d-%H-%M-%S")
于 2012-05-01T01:18:00.380 回答