Я хочу записать данные в лист Excel, используя модуль openpyxl. Я хочу проверить, есть ли уже значения в ячейках, в которые я хочу что-то написать. Если да, то я хочу перейти к следующей строке и записать ее там. Поэтому я написал следующий код (я его сильно упростил).
Когда я выполняю код, я получаю следующую ошибку:
'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
Итерация с openpyxl не работает с объединенными ячейками ⇐ Python
Программы на Python
-
Anonymous
1732414073
Anonymous
Я хочу записать данные в лист Excel, используя модуль openpyxl. Я хочу проверить, есть ли уже значения в ячейках, в которые я хочу что-то написать. Если да, то я хочу перейти к следующей строке и записать ее там. Поэтому я написал следующий код (я его сильно упростил).
Когда я выполняю код, я получаю следующую ошибку:
[b]'AttributeError: 'MergedCell' атрибут объекта «значение» доступен только для чтения.[/b].
Код прекрасно работает с неслитыми ячейками.
# 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")
Подробнее здесь: [url]https://stackoverflow.com/questions/79218700/iteration-with-openpyxl-does-not-work-with-merged-cells[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия