본문 바로가기
파이썬

파이썬 Python XLWT에서 셀 덮어 쓰기 시도

by º기록 2020. 12. 4.
반응형

파이썬 모듈 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

코드가 전체 프로세스를 중단시키는 예외 인 것처럼 보입니다. 셀 덮어 쓰기를 허용 할만큼 '올림'용어를 제거하고 있습니까? xlwt의 경고에 감사하지만 비단 법적인 방법은 "우리가하는 일을 알고있다"고 가정하는 것이라고 생각했습니다. 모듈을 만질 때 다른 어떤 것도 깨뜨리고 싶지 않습니다.

 

해결 방법

 

문제는 워크 시트 데이터 덮어 쓰기가 xlwt 에서 기본적으로 비활성화되어 있다는 것입니다. 다음과 같이 명시 적으로 허용해야합니다.

worksheet = workbook.add_sheet("Sheet 1", cell_overwrite_ok=True)

 

참조 페이지 https://stackoverflow.com/questions/2679502

 

 

반응형

댓글