将Matplotlib的日期转换为浮动天数格式

时间:2015-12-05 14:13:06

标签: python datetime matplotlib candlestick-chart

我已按照以下格式获取日期(从here获取数据):

20151204202500000

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

现在我有这样的事情:

    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)

但我无法弄清楚如何将单个字符串转换为浮动日格式。 我甚至都不知道这种格式是怎样的......

我找到了转换整个数据文件here的方法,但它对我来说没什么用。

1 个答案:

答案 0 :(得分:2)

这应该做:

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