#python #tabs #openpyxl
#python #вкладки #openpyxl
Вопрос:
У меня проблема, к сожалению, эта комбинация не работает (пустые ячейки на вкладке «4» в качестве результата ниже кода). Вы знаете, в чем проблема? Мне нужно попасть на вкладку по переменной, не имеющей фиксированного имени.
book.create_sheet("4")
tab_4 = book.get_sheet_by_name('4')
ktora = 4
ktora_zakladka = "tab_" str(ktora)
ktora_zakladka ".cell(column=" str(numerkolumny) ", row=" str(wiersz_zakladka4) ", value="
str(assets3[w2]) ").font = style_blad"
Когда я просматриваю ниже, все в порядке:
tab_4.cell(column=numerkolumny, row=wiersz_zakladka4, value=assets3[w2]).font=style_blad
Комментарии:
1. Мне кажется, что вам не помешал бы учебник по Python. Вероятно, это все, что вам нужно сделать:
ws = book["tab_4"]; cell = ws.cell(row=wiersz_zakladka4, column=numerkolumny); cell.font =Font(bold=True)
Ответ №1:
Вам нужно использовать =
для добавления к строке. Используется exec
для запуска динамического кода.
Попробуйте этот код:
from openpyxl import Workbook
book = Workbook()
numerkolumny = wiersz_zakladka4 = 9
w2 = 0
assets3 = [123]
book.create_sheet("4")
tab_4 = book.get_sheet_by_name('4')
ktora = 4
ktora_zakladka = "tab_" str(ktora)
ktora_zakladka = ".cell(column=" str(numerkolumny) ", row=" str(wiersz_zakladka4) ", value="
str(assets3[w2]) ").font = 'style_blad'"
exec(ktora_zakladka) # run command, write to excel file
book.save('tab4.xlsx')
Комментарии:
1. Нет необходимости использовать
exec
вообще.