图表的问题使用日期来优化来自互联网源的数据

时间:2017-07-06 17:34:53

标签: excel python-2.7 numpy matplotlib graph

这是我在stackoveflow上的第一篇文章,我是编程特别是python的新手。我正在进行工程设计,并且正在学习python以恭维未来,主要是在数学和图形应用程序中。 基本上我的问题是如何从源(我的情况下从谷歌的股票数据)下载csv excel数据,并仅绘制日期的某些行。对于我自己,我希望日期与近似值相对应。 现在我得到的错误信息是timedata'5-Jul-17'与'%d-%m-%Y'不匹配 以前我也得到了元组数据不匹配 excel中打开的csv数据的描述是 [7列(日期,开放,高,低,关闭,调整,数量和日期按照2017-05-30组织] [1] 不幸的是,我确定还有其他错误 我真的很感激任何帮助, 先感谢您! - 编辑 - 在摆弄更多的东西时,我不认为名称和dtypes是必要的,当我检查矩阵尺寸时没有那些标识符我得到(250L,6L)似乎是正确的。现在我的主要问题是将日期转换为可用的东西,我的错误现在是strptime只接受字符串,所以我不知道该使用什么。 (见下面的更新代码)

import matplotlib.pyplot as plt
importnumpy as np
from datetime import datetime

def graph_data(stock):

    %getting the data off google finance
    data = np.genfromtxt('urlgoeshere'+stock+'forthecsvdata', delimiter=',',
                        skip_header=1) 
    # checking format of matrix
    print data.shape (returns 250L,6L)

    time_format = '%d-%m-%Y'
    # I only want the 1st column (dates) and 5 column (close), all rows
    date = data[:,0][:,]
    close = data[:,4][:,]

    dates = [datetime.strptime(date, time_format)]

    %plotting section
    plt.plot_date(dates,close, '-')
    plt.legend()
    plt.show()

graph_data('stockhere')

1 个答案:

答案 0 :(得分:0)

假设csv文件中的日期格式为' 5-Jul-17',要使用的正确格式字符串为%d-%b-%y

In [6]: datetime.strptime('5-Jul-17','%d-%m-%Y')

ValueError: time data '5-Jul-17' does not match format '%d-%m-%Y'

In [7]: datetime.strptime('5-Jul-17','%d-%b-%y')

Out[7]: datetime.datetime(2017, 7, 5, 0, 0)

请参阅有关strptime()行为的Python documentation