Python 为什么只有这些xlwt函数可以工作?

Python 为什么只有这些xlwt函数可以工作?,python,xlwt,Python,Xlwt,我试图在Excel文件中比较matlab中的矩阵和Python中的矩阵。因此,我尝试使用xlwt,如下面的代码所示 第一部分直到wb.save('Z.xls')起作用,但另一部分不起作用。删除第一部分没有帮助 wb=Workbook() ws=wb.添加工作表('P') 对于范围(0,len(self.Z))内的j: 对于范围(0,len(self.Z))中的k: ws.write(j,k,real(self.Z[j][k])) wb.save('Z.xls') wr=工作簿() ws=wr.添

我试图在Excel文件中比较matlab中的矩阵和Python中的矩阵。因此,我尝试使用xlwt,如下面的代码所示

第一部分直到wb.save('Z.xls')起作用,但另一部分不起作用。删除第一部分没有帮助

wb=Workbook()
ws=wb.添加工作表('P')
对于范围(0,len(self.Z))内的j:
对于范围(0,len(self.Z))中的k:
ws.write(j,k,real(self.Z[j][k]))
wb.save('Z.xls')
wr=工作簿()
ws=wr.添加工作表('S')
对于范围(0,len(self.v))内的j:
对于范围(0,len(self.v))中的k:
ws.write(j,k,int(self.v[j][k]))
wr.save('v.xls')
这就是错误所在

  File "M:\LambWaveModes_p\Aufruf.py", line 7, in <module>
    LWM([[3.5,1.5,0],[1.5,3.5,0],[0,0,1]])
  File "M:\LambWaveModes_p\LambWaveModes.py", line 49, in __init__
    LWM.calculate(self)
  File "M:\LambWaveModes_p\LambWaveModes.py", line 407, in calculate
    LWM.compwavenum(self)
  File "M:\LambWaveModes_p\LambWaveModes.py", line 484, in compwavenum
    ws.write(j,k,int(self.v[j][k]))
IndexError: list index out of range

就在ws.write的正上方,它打印了v[0][0]。

ws.write(j,k,int(self.v[j][k])
这里你从
self.v
中提取元素,但是你的
j
k
范围内(0,int(len(self.Z))
。也许您打算使用
len(self.v)
。哦,
int
是不需要的。我试过了,但是两者的长度都一样,所以当我改变它时,没有任何变化。int是nessery,因为v包含复数。我指的是
int(len(…)
。序列的长度已经是整数了。哦,你说得对。我摆脱了它,
self.v
的维度是什么?