2014-05-12 2 views
0

이미 비슷한 질문을했지만 해결책을 찾지 못했습니다. 앞에서 나는 파이썬으로부터 전혀 모른다. 난 그냥 이론적으로 일을하고 나에게 어떤 점 데이터와 그래프를 플롯해야하는 스크립트를 가지고하지만 난이 오류 :Python IndexError : 너무 많은 인덱스

Traceback (most recent call last): 
File "C:\***\create_plot.py", line 38, in <module> 
formatter.create_plot() 
File "C:\***\CPI_Plotter.py", line 54, in create_plot 
plot(line[:, 0], line[:, 1], styles[name[0]%7], label=name[1]) 
IndexError: too many indices 

적절한 코드는 여기에 있습니다 : 당신의 도움에 대한

def create_plot(self): 
    """ 
     Plot the different data sets 
    """ 
    styles = ['o', 's', '^', 'v', 'D', '1', '+'] 

    for name, line in zip(enumerate(self.labels), self.plot_data): 
     if name[1][-4:] == '.csv': 
      plot(line[:, 0], line[:, 1], label='XNS Simulation') 
      styles.insert(name[0],'') 
     else: 
      plot(line[:, 0], line[:, 1], styles[name[0]%7], label=name[1]) 

감사합니다!

답변

0

파이썬에서 깎는 데 쉼표를 사용할 수 없습니다. 이 문자열이해야 할 일은 무엇입니까?

plot(line[:, 0], line[:, 1], label='XNS Simulation') 
+0

필자가 코드를 이해하는 한,이 그래프와 플롯에 표시된 다른 포인트 데이터의 이름을 지정해야합니다. – user3627994

+0

self.labels 및 self.plot_data의 예를 보여줄 수 있습니까? –

+0

몇 가지 테스트를했는데 스크립트가 Mac OS에서 제대로 작동합니다. 따라서 창에 오류가 있거나 더 정확하게 스크립트의 일부가 winows에서 작동하지 않습니다. 어쩌면 Windows의 파일 시스템과 관련이 있을지도 모릅니다. – user3627994

0

나는이 문제를 해결했다. 이미 말했듯이 윈도우즈 파일 시스템이나 그와 비슷한 것이 문제라고 생각합니다. Mac OS에서 제대로 작동했습니다. 윈도우 머신에서 실행하려면 , 나는이 길에

infile = open(filepath, "rb") 

에 다음 명령

infile = open(filepath, "r") 

를 변경, 입력 파일/파일은 바이너리 모드로 개방되고 스크립트가 정상적으로 실행됩니다.

관련 문제