xlwings 输出到迭代单元格范围

xlwings output to iterative cell range

我有一个无法直接访问的大型数据集,我正在尝试使用 Python 将数据 headers 转换为列标题,然后 return 将其返回到Excel。

我已经创建了执行此操作的函数并且它可以工作,但我遇到了障碍。我想要 Excel VBA 做的是向下循环范围,如果单元格的值符合条件,则调用 Python 函数和 return 列中的结果列表项从原来的单元格移动。例如:

A1 保存要格式化的字符串,函数 returns B1C1D1 等。如果我硬编码 B1C1D1 等,我只能让它工作

有没有办法通过 get_address() 范围方法来做到这一点?我想我可以使用 offset() 方法但我不确定。

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

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

感谢您的帮助。我现在已经开始工作了,我对 Python、xlwings 和 Excel.

未来的可能性感到非常兴奋

我的问题很简单,一旦我对范围进行了循环排序(顺便说一句,它被方便地导入为每个元素的每一行而不是每个单元格)。我已经在函数之外声明了我的列表,因此每次满足真实条件时都不会重置。看着我的细胞一次又一次地充满相同的值,这让我感到非常沮丧。一旦你知道怎么做就很简单:)