嗨,谢谢你。
在Visual Studio 2015中使用Python 3.4,从Excel 2007读取/写入
希望传递一个变量:
mylastrow ='$A$70006' # this address is not hard coded. it will be from an 'input'
将上述范围加入下面的表达式是我失败的原因:
myrange = xlwings.Range('Sheet1', 'A2:' & lastrow).value
我试过这些:
myrange = xlwings.Range('Sheet1', 'A2:' & lastrow)
myrange = xlwings.Range('Sheet1', 'A2:' + lastrow).value
myrange = xlwings.Range('Sheet1', 'A2:' + lastrow)
myrange = xlwings.Range('Sheet1', 'A2:' & str(lastrow)).value
myrange = xlwings.Range('Sheet1', 'A2:' & int(lastrow)).value
myrange = xlwings.Range('Sheet1', 'A2:' + str(lastrow)).value
myrange = xlwings.Range('Sheet1', 'A2:' + int(lastrow)).value
myrange = xlwings.Range('Sheet1', 'A2', 'A' & lastrow).value
myrange = xlwings.Range('Sheet1', 'A2', 'A' & lastrow).value
我一直得到:'不支持的操作数类型&:' str'和' int'' 或者'无法转换' int'反对str的对象'
当然,他们在一起后,地址应该像A2:$ A $ 70006
即使您只是指向可能的解决方法列表的链接,或者只是"这也无法完成"。一切都会好的。再次感谢你。
PS。对于论坛本身,如果我应该以另一种方式呈现这个或者应该以另一种方式构建,请告诉我,以便我可以解决它。再次感谢你。
答案 0 :(得分:1)
试试这个
mylastrow ='$A$70006'
...
myrange = xlwings.Range('Sheet1', 'A2:{0}'.format(mylastrow)).value
有关python 3 string formatting的更多信息,请参阅此处。