2016-03-14 4 views
4

Я использую xlwings в Windows (Excel 2007 с Python 2.7) и хотел бы удалить диапазоны или столбцы с помощью xlwings. Насколько я мог видеть, удаление диапазона или столбца является отсутствующей функцией, поэтому я попытался выполнить приведенные ниже инструкции here и попытался получить доступ к методу объекта Range в VBA .Delete. Есть ли у вас какие-либо предложения о том, что вызывает ошибку, и как удалить диапазон целых столбцов в xlwings?Как удалить столбцы в xlwings?

код я пытался запустить в командной строке ниже (для удаления всего столбца в активной книге):

import xlwings as xw 
wb = xw.Workbook.active() 
xw.Range('C1:C3').xl_range.EntireColumn.Delete 

я получил следующее сообщение об ошибке:

bound method CDispatch.Delete of <COMObject <unknown>>> 

Xlwings бы дают возможность очищать значения из диапазона (на Range('C1:C3').clear()), но это оставляет пустой лист или столбец на листе.

+1

Вы только с отсутствующим '()' в конце: '..... Удалить()'. Или используйте ответ OrangeFlash81. –

+0

@FelixZumstein Я пробовал это, но он не работал на моей машине. 'xw.Range ('C1: C3'). xl_range.EntireColumn' всегда будет возвращать' >> '. –

ответ

3

Access весь столбец, а затем использовать .xl_range.Delete() вместо:

xw.Range('C:C').xl_range.Delete()