Используя модуль python xlwt, запись в одну и ту же ячейку дважды вызывает ошибку:
Message File Name Line Position
Traceback
<module> S:\********
write C:\Python26\lib\site-packages\xlwt\Worksheet.py 1003
write C:\Python26\lib\site-packages\xlwt\Row.py 231
insert_cell C:\Python26\lib\site-packages\xlwt\Row.py 150
Exception: Attempt to overwrite cell: sheetname=u'Sheet 1' rowx=1 colx=12
с фрагментом кода
def insert_cell(self, col_index, cell_obj):
if col_index in self.__cells:
if not self.__parent._cell_overwrite_ok:
msg = "Attempt to overwrite cell: sheetname=%r rowx=%d colx=%d" \
% (self.__parent.name, self.__idx, col_index)
raise Exception(msg) #row 150
prev_cell_obj = self.__cells[col_index]
sst_idx = getattr(prev_cell_obj, 'sst_idx', None)
if sst_idx is not None:
self.__parent_wb.del_str(sst_idx)
self.__cells[col_index] = cell_obj
Похоже, код 'raise' создает исключение, которое останавливает весь процесс. Удаляет ли термин "рейз" достаточно, чтобы переписать ячейки? Я ценю предупреждение xlwt, но я думал, что питонический способ - предположить, что "мы знаем, что делаем". Я не хочу ломать что-либо еще, касаясь модуля.