왼쪽 위 셀의 내용을 기반으로 문서에서 일부 테이블을 제거하고 싶습니다.python docx 문서에서 테이블 삭제
allTables = document.tables
for activeTable in allTables:
if activeTable.cell(0,0).paragraphs[0].text == 'some text':
allTables.remove(activeTable)
내가 셀 (0,0)에서 '텍스트'를 포함하는 모든 테이블을 제거 것으로 예상하지만,이 문서에 여전히 :
나는 시도했다.프로세스가 예상대로 "allTables.remove (activeTable)"행을 입력합니다. indexToDelete = allTables.index(activeTable)
if 문 내에 내가 원하는 테이블이 있습니다.
메시지는
이것은 문제가되지 않습니다. allTables의 activeTable 코드 : if activeTable.cell (0,0) .paragraphs [0] .text == 'some text': indexOfTableToDelete = allTables.index (activeTable) print ("삭제할 테이블 :" , 1+ indexOfTableToDelete) del allTables [indexOfTableToDelete] ' – Bartli
죄송합니다. 끝나기 전에 내 의견을 보냈습니다. allTables의 activeTable 코드 : if activeTable.cell (0,0) .paragraphs [0] .text == 'some text': indexOfTableToDelete = allTables.index (activeTable) print ("삭제할 테이블 :" , 1+ indexOfTableToDelete) del allTables [indexOfTableToDelete] 'prints : 삭제할 테이블 : 3 삭제할 테이블 : 8 삭제할 테이블 : 10 이것들은 내가 찾고있는 테이블입니다. – Bartli
아, 알겠습니다. 나는 지금 무슨 일이 일어나고 있는지보고있다. 'document.tables'가 반환하는 목록 ('allTables')에서 테이블을 제거하고 있지만 기본 XML에서 테이블을 제거하지는 않습니다. 대신'activeTable._element.getparent(). remove (activeTable._element)'를 시도하십시오. – scanny