2012-06-22 5 views
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))) 
             ^

Благодаря

+8

Я вижу несоответствие в скобках. –

ответ

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

После того, как вы получите здесь, Python думает, что вы строите кортеж nd как один аргумент до loadtxt, вместо того, чтобы отправлять несколько аргументов. Так,

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

ошибки, потому что = не является действительным в кортеже. Вы, вероятно, имел в виду, чтобы сделать это:

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

Но дополнительные скобки etf + '.csv' не нужны здесь - конкатенация имеет преимущество в любом случае, так что вы можете просто удалить второй ( и все будет работать.

0

У вас есть дополнительная скобка перед ЕФТОМ

data = numpy.loadtxt(etf + '.csv',dtype = ([("date", "S8"), ("value", "f8")]), delimiter= ',' , usecols=(0,-1)) 
Смежные вопросы