Openpyxl 'str' объект не может быть интерпретирован как целое число - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь запустить простой кусок кода (Python 3.6), чтобы преобразовать диапазон ячеек в листе Excel в список. Вот код:

import openpyxl

wb_d = openpyxl.load_workbook('example.xlsx')
ws = wb_d.active
# iterate through all rows in specific column openpyxl
mylist = []
for row in ws.iter_rows('A{}:A{}'.format(ws.min_row,ws.max_row)):
    for cell in row:
        mylist.append(cell.value)
print(mylist)

Я получаю сообщение об ошибке:

Traceback (most recent call last):
  File "PycharmProjects/Excel/list_generator.py", line 7, in <module>
    for row in ws.iter_rows('A{}:A{}'.format(ws.min_row,ws.max_row)):
  File "venv\Excel\lib\site-packages\openpyxl\worksheet\worksheet.py", line 438, in _cells_by_row
    for row in range(min_row, max_row + 1):
TypeError: 'str' object cannot be interpreted as an integer

Я также попытался определить диапазон ячеек как «A1: A10», а также получил ошибку. Может кто-нибудь посоветовать, пожалуйста, в чем проблема с кодом?

1 Ответ

0 голосов
/ 06 октября 2019

Входные параметры для iter_rows() должны быть целыми числами. Поэтому замените

for row in ws.iter_rows('A{}:A{}'.format(ws.min_row,ws.max_row))

на

for row in ws.iter_rows(ws.min_row,ws.max_row)
...