Python 对wxgrid中的数据进行排序

Python 对wxgrid中的数据进行排序,python,wxpython,wxgrid,Python,Wxpython,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

我试图从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返回的值是空字符串(即“”),而不是空字符串;因此,if语句中的条件总是返回true。由于空字符串的计算结果为false,因此只要从if语句中删除“!=None”就可以解决问题。

通过一些尝试和错误解决了这个问题。谢谢你的回答!这个是正确的。