Сортировка данных из wxgrid

Я пытаюсь получить значения из wxgrid для последнего столбца в моей сетке (столбец 11) и добавить их в список, если ячейка не пуста. Кажется, я не могу понять, почему список заполняется множеством пустых значений

phase_change=[]
for i in range(100):
  if self.myGrid.GetCellValue(i, 11) != None:
    phase_change.append(self.myGrid.GetCellValue(i, 11))
  else:
    print self.myGrid.GetCellValue(i, 11)
for phase in phase_change:
  plt.axvline(x=phase, ymin=0, ymax=1.0, linewidth=12, color='w')
  plt.axvline(x=phase, ymin=0, ymax=1.0, linewidth=1, color='k')

Может кто-нибудь объяснить мне, как я облажался?


person user2229838    schedule 07.01.2015    source источник


Ответы (1)


Значение, возвращаемое при вызове GetCellValue в пустой ячейке, является пустой строкой (т. Е. ''), А не None; следовательно, условие в вашем операторе if всегда возвращается как истинное. Поскольку пустая строка считается ложной, простое удаление "! = None" из оператора if должно решить проблему.

person Maxander    schedule 13.01.2015
comment
Выяснил это методом проб и ошибок. Спасибо за ответ! Это правильно. - person user2229838; 18.01.2015