Python IndexError列表

时间:2013-01-25 17:02:23

标签: python arrays

我想从.ods文件中读取数据(使用ezodf),然后将其转换为JSON。

这是我的代码:

try:
    while conf[i, 2].value != None:
        export_data['priorities'][conf[i, 2].value] = str(int(conf[i, 3].value))
        i+=1
except IndexError:
    print("This probably has a better solution.");

conf[x, y]引用conf表单中的单元格。正如您所看到的,只要列中没有空单元格,我就想读取列i的值。

问题是第一个空单元格引发IndexError异常。

我可以通过简单的方式修复此问题,例如,检查此列的长度吗?

1 个答案:

答案 0 :(得分:1)

这应该是您正在寻找的(我假设conf是一个电子表格表):

for i in range(conf.nrows()):
   export_data['priorities'][conf[i, 2].value] = str(int(conf[i, 3].value))

但是如果电子表格包含非整数值,您应该知道int(conf[i, 3].value)位将抛出异常。

您的try / except执行此操作的方法并没有什么特别的错误。