我想从.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
异常。
我可以通过简单的方式修复此问题,例如,检查此列的长度吗?
答案 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
执行此操作的方法并没有什么特别的错误。