如何在xlwings中删除列?

5
我正在Windows上使用xlwings(Excel 2007和Python 2.7),希望能够使用xlwings删除范围或列。就我所见,删除范围或列是一个缺失的特性,所以我尝试按照此处给出的说明,在VBA中访问Range对象的.Delete方法。您对导致错误以及如何删除xlwings整个列的范围是否有任何建议?
以下是我在命令行中尝试运行的代码(用于删除活动工作簿中的整个列):
import xlwings as xw
wb = xw.Workbook.active()
xw.Range('C1:C3').xl_range.EntireColumn.Delete

我收到了以下错误信息:
bound method CDispatch.Delete of <COMObject <unknown>>>
< p > < code > Xlwings 可以通过< code > Range('C1:C3').clear() 来清除范围内的值,但这会在工作表上留下一个空范围或列。


1
你只是缺少结尾的 ().....Delete()。或者使用 OrangeFlash81 的答案。 - Felix Zumstein
@FelixZumstein 我尝试过了,但在我的电脑上没有起作用。xw.Range('C1:C3').xl_range.EntireColumn 总是会返回一个 <COMObject <unknown>>> - Aaron Christiansen
1个回答

4

访问整个列,然后使用.xl_range.Delete()来删除:

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

2
现在不再有xl_range属性,但是你可以用api来代替,以访问底层的pywin32语法([来源](http://docs.xlwings.org/en/stable/missing_features.html))。 - Excel Help

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接