Python: итерация с openpyxl не работает с объединенными ячейкамиPython

Программы на Python
Ответить
Anonymous
 Python: итерация с openpyxl не работает с объединенными ячейками

Сообщение Anonymous »

Я новичок в Python и хочу записать данные в лист Excel, используя модуль openpyxl. Я хочу, чтобы Python проверял, есть ли уже значения в ячейках, в которые я хочу что-то написать. Если да, то я хочу, чтобы Python перешел к следующей строке и записал ее туда. Поэтому я написал следующий код (я его сильно упростил).
Когда я выполняю код, я получаю следующую ошибку:
'AttributeError: 'MergedCell' Атрибут объекта «значение» доступен только для чтения..
Код прекрасно работает с необъединенными ячейками. Есть ли кто-нибудь, кто может мне помочь?
# Import Modules
from openpyxl import Workbook

# Define where to write data
wb = Workbook()
ws = wb.active

# Write numbers from 1 to 20 in first row
for x in range(1, 20):
ws.cell(row=1, column=x).value = x

# Define a list of Entries that shall be written to the Excel sheet
entries = [["Entry 1", 1, 5], ["Entry 2", 2, 6], ["Entry 3", 3, 7]]

# Check whether there are already values in the cells where I want to write and if so, skip to next line
for entry in entries:
row = []
for count_row in range(2, 5):
has_value = []
for count_column in range(entry[1], entry[2]+1):
if ws.cell(row=count_row, column=count_column).value is None:
has_value.append(False)
else:
has_value.append(True)
break
if True in has_value:
continue
else:
row.append(count_row)
break
ws.merge_cells(start_row=row[0], start_column=entry[1], end_row=row[0], end_column=entry[2])
ws.cell(row=row[0], column=entry[1]).value = entry[0]

# Save
wb.save("Test.xlsx")


Подробнее здесь: https://stackoverflow.com/questions/792 ... rged-cells
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»