xlwings 输出到迭代单元格范围
xlwings output to iterative cell range
我有一个无法直接访问的大型数据集,我正在尝试使用 Python 将数据 headers 转换为列标题,然后 return 将其返回到Excel。
我已经创建了执行此操作的函数并且它可以工作,但我遇到了障碍。我想要 Excel VBA 做的是向下循环范围,如果单元格的值符合条件,则调用 Python 函数和 return 列中的结果列表项从原来的单元格移动。例如:
A1
保存要格式化的字符串,函数 returns B1
、C1
、D1
等。如果我硬编码 B1
、C1
、D1
等,我只能让它工作
有没有办法通过 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.
未来的可能性感到非常兴奋
我的问题很简单,一旦我对范围进行了循环排序(顺便说一句,它被方便地导入为每个元素的每一行而不是每个单元格)。我已经在函数之外声明了我的列表,因此每次满足真实条件时都不会重置。看着我的细胞一次又一次地充满相同的值,这让我感到非常沮丧。一旦你知道怎么做就很简单:)
我有一个无法直接访问的大型数据集,我正在尝试使用 Python 将数据 headers 转换为列标题,然后 return 将其返回到Excel。
我已经创建了执行此操作的函数并且它可以工作,但我遇到了障碍。我想要 Excel VBA 做的是向下循环范围,如果单元格的值符合条件,则调用 Python 函数和 return 列中的结果列表项从原来的单元格移动。例如:
A1
保存要格式化的字符串,函数 returns B1
、C1
、D1
等。如果我硬编码 B1
、C1
、D1
等,我只能让它工作
有没有办法通过 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.
未来的可能性感到非常兴奋我的问题很简单,一旦我对范围进行了循环排序(顺便说一句,它被方便地导入为每个元素的每一行而不是每个单元格)。我已经在函数之外声明了我的列表,因此每次满足真实条件时都不会重置。看着我的细胞一次又一次地充满相同的值,这让我感到非常沮丧。一旦你知道怎么做就很简单:)