从 wxgrid 中排序数据

Sort Data from 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')

有人可以向我解释一下我是如何搞砸的吗?

在空单元格上调用 GetCellValue 返回的值是空字符串(即 ''),而不是 None;因此,您的 if 语句中的条件始终 returns 为真。由于空字符串的计算结果为假,只需从 if 语句中删除“!= None”即可解决问题。