2016-03-14 188 views
4

我在Windows上使用xlwings(Excel 2007 with Python 2.7),並且想要使用xlwings來刪除範圍或列。據我所知,範圍或列的刪除是一個缺失的功能,所以我試圖按照給出的指示here並嘗試訪問VBA中的Range對象的.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

訪問整個列,然後使用.xl_range.Delete()代替:

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