将Matplotlib的日期格式转换为float days格式

2024-04-29 08:42:25 发布

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

我有以下格式的日期(从here获取数据):

20151204202500000

我想在Matplotlib烛台中使用这个日期,所以我需要将它转换为float days格式。

现在我有了这样的东西:

    candlestick_data = []
    for line in data:
        # here I want to convert date
        newline = date, line[4], line[2], line[3], line[1]
        candlestick_data.append(newline)
        print(date)

    candlestick_ohlc(figure, candlestick_data)

但我不知道如何将单个字符串转换为float days格式。 我甚至不知道这种格式是什么样子。。。

我找到了转换整个数据文件here的方法,但这对我没有太大帮助。


Tags: toinfordatadateherematplotlib格式
1条回答
网友
1楼 · 发布于 2024-04-29 08:42:25

这应该可以做到:

import datetime
from matplotlib.finance import date2num

float_days = date2num(datetime.datetime.strptime(date_string, '%Y%m%d%H%M%S%f'))

或者长版:

year = int(date_string[:4])
month = int(date_string[4:6])
day = int(date_string[6:8])
hour = int(date_string[8:10])
minute = int(date_string[10:12])
sec = int(date_string[12:14])
msec = int(date_string[14:] + '000')

float_days = date2num(datetime.datetime(year, month, day, hour, minute, sec, msec))

相关问题 更多 >