2015-12-05 87 views
1

我有日期格式如下(從here獲取數據):轉換日期浮天格式Matplotlib

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的方法,但它對我沒有太大的幫助。

+0

你應該看看[燭臺示例](http://matplotlib.org/examples/pylab_examples/ finance_demo.html)使用日期而不是浮點數。 – albert

回答

3

這應該這樣做:

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