从datetim返回不同的时间帧

2024-09-27 17:55:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我这样分析一个文件:

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)对它们进行分组

提前谢谢


Tags: infordatetimedatetimefloatappendstrptime
1条回答
网友
1楼 · 发布于 2024-09-27 17:55:53

不要使用从strptime获取的datetime对象的date方法。相反,直接将strftime应用于来自strptime的返回,这样可以访问所有成员字段,包括年、月、日、时、分、秒等

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")

相关问题 更多 >

    热门问题