这是我在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')
答案 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。