语法错误无法弄清楚原因

时间:2012-06-22 14:25:37

标签: python numpy matplotlib

嗨,我一直收到语法错误,但我无法弄清楚原因。我的代码是

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

由于

2 个答案:

答案 0 :(得分:3)

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

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

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

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

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

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

答案 1 :(得分:0)

你在etf前面有一个额外的paren

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