将日期转换为 Matplotlib 的浮点数格式
Converting date to float days format for Matplotlib
我有以下格式的日期(从 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,但对我来说帮助不大。
应该这样做:
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))
我有以下格式的日期(从 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,但对我来说帮助不大。
应该这样做:
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))