1

嗨,我不断收到语法错误,但我不知道为什么。我的代码是

data = numpy.loadtxt((etf + '.csv',dtype = ([("date", "S8"), ("value", "f8")]), delimiter= ',' , usecols=(0,-1)))
x = numpy.arange(len(data))
pl1.bar(x,data["value"], width = 0.8)
p1.xticks(x+.4, data["date"])
p1.show()

语法错误是

  data = numpy.loadtxt((etf + '.csv',dtype = ([("date", "S8"), ("value", "f8")]), delimiter= ',' , usecols=(0,-1)))
                                           ^

谢谢

4

2 回答 2

3
data = numpy.loadtxt((etf + '.csv',

一旦你到达这里,Python 认为你正在构建一个元组作为一个参数发送给loadtxt,而不是发送多个参数。所以,

   dtype = ([("date", "S8"), ("value", "f8")])

错误,因为=在元组中无效。您可能打算这样做:

data = numpy.loadtxt((etf + '.csv'), ... )

但是etf + '.csv'这里不需要额外的括号 - 字符串连接无论如何都优先,所以你可以删除第二个(,一切都会工作。

于 2012-06-22T14:35:31.740 回答
0

你在 etf 前面有一个额外的括号

data = numpy.loadtxt(etf + '.csv',dtype = ([("date", "S8"), ("value", "f8")]), delimiter= ',' , usecols=(0,-1))
于 2012-06-22T14:31:00.260 回答