Python: передача переменной в Range()
Привет и спасибо заранее.
Использование Python 3.4 в Visual Studio 2015 для чтения / записи из 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 '' или 'Can't преобразовать объект' int 'в str неявно'
Конечно, после того, как они вместе, адрес должен выглядеть как A2:$A$70006
Даже если у вас есть ссылка на список возможных обходных путей или просто "это невозможно". Все будет хорошо. Еще раз спасибо
пс. Для самого форума, если я должен был представить это по-другому или должен был структурировать это по-другому, пожалуйста, дайте мне знать, чтобы я мог это исправить. еще раз спасибо
1 ответ
Попробуй это
mylastrow ='$A$70006'
...
myrange = xlwings.Range('Sheet1', 'A2:{0}'.format(mylastrow)).value
Подробнее о форматировании строки в Python 3 можно прочитать здесь.