Ошибка Worksheet object has no attribute range в Python и Openpyxl
Необходимо работать с Excel таблицами в Python. Использую библиотеку openpyxl. Открываю один файл Excel и хочу выдернуть необходимые мне ячейки и вставить в новый файл (создал заранее check.xlsx).Если с одной ячейкой все нормально, то когда беру несколько ячеек, возникает ошибка: Worksheet object has no attribute range.
Гуглил до этого, писали, что старая версия Openpyxl, но это уже неактуально, так как поставил самую новую версию.
import openpyxl
#Чтение файла
wb = openpyxl.load_workbook(filename = 'C:\\Users\\Ринат\\Desktop\\Python\\ExcelPython\\Bogdan.xlsx')
#Выбор листа
sheet = wb['TDSheet']
#Считывание даннных
vals = [v[0].value for v in sheet.range['B11:B12']]
#Открытие второго файла для записи ответа
checkWb = openpyxl.load_workbook(filename = 'C:\\Users\\Ринат\\Desktop\\Python\\ExcelPython\\check.xlsx')
#Открытие листа ActRpa для записи ответа
sheetCheck = checkWb['ActRpa']
#записывам последовательность
i = 0
for rec in vals:
sheetCheck.cell(row=i, column=2).value = rec
i += 1
#Сохраняем данные
checkWb.save('C:\\Users\\Ринат\\Desktop\\Python\\ExcelPython\\check.xlsx')
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
По текущему коду класса Worksheet можно напрямую через квадратные скобки обращаться, т.е.:
vals = [v[0].value for v in sheet['B11:B12']]
А способ через .range( уже устарел и был убран.