xlwings输出到迭代单元格范围

时间:2015-02-22 21:44:22

标签: python excel excel-vba python-3.x xlwings vba

我有一个大型数据集,我没有直接访问权限,并且正在尝试使用Python将数据头转换为列标题,然后将其返回到Excel。

我已经创建了这个功能,它可以工作,但我遇到了障碍。我希望Excel VBA做的是循环范围,如果单元格的值与条件匹配,则调用Python函数并返回从原始单元格移过的列中的结果列表项。例如:

A1保存要格式化的字符串,函数返回B1C1D1,依此类推。如果我硬编码B1C1D1等,我只能让这个工作。

有没有办法通过get_address()范围方法执行此操作?我想我可以使用offset()方法,但我不确定。

2 个答案:

答案 0 :(得分:0)

是的,您可以使用偏移方法,并执行以下操作:

for x in range(1, 11): #loop through a range
if Range('A' + str(x)).value == 5: #to match your own criterion
    Range('A' + str(x)).offset(0, 1).value = ['apple', 'banana', 'pear'] #the returns of your own function

答案 1 :(得分:0)

感谢您的帮助。我现在已经开始工作了,我对Python,xlwings和Excel的未来可能性感到非常兴奋。

我的问题很简单,一旦我在整个范围内循环排序(顺便提一下,每个元素而不是每个单元格都按照每行输入)。我已经在函数之外声明了我的列表,因此每次满足真实条件时都不会重置。看着我的细胞一次又一次地填充相同的值,这变得非常令人沮丧。一旦你知道如何简单:)

相关问题