Как правильно добавить элементы списка в таблицу Word?
Есть список названий продукции mists, элементы которого надо вбить в каждую строку 2 колонки таблицы в ворде. Сам список mists выглядит так ['"Манжета \ 380... "', '"Кольцо \ ... "', и т.д.]
Написал такой гавнокод:
for mist in mists:
for row in range(len_of_future_tables+1):
for col in range(2):
if row == 0:
row += 1
continue
cell = passport_table.cell(row, col)
cell.text = (mist)
Вот пример как должно быть:
Вот как оно получается:
Получается оно перебирает каждый элемент к каждой строке в колонке и когда уже элементы закончились, то остается последний элемент...
Как сделать так чтоб первый элемент списка сохранился в первой строке, второй во второй и т.д.?
Ответы (1 шт):
Мне кажется у вас должно быть как-то так:
for row, mist in zip(range(1, len_of_future_tables+1), mists):
cell = passport_table.cell(row, 1)
cell.text = (mist)
Вам ведь надо перебирать строки и элементы списка параллельно, а для этого в Питоне есть функция zip. И перебирать нулевую строку вам не надо, я так понимаю, поэтому лучше сразу начать итерироваться с 1, а не с 0 в range.
А цикл по колонкам вообще не нужен, из него у вас используется только последнее значение итерации.
В вашем первоначальном варианте просто получается, что вы для каждого элемента списка заново проходите все строки и столбцы и записываете туда текущий элемент списка. Понятно, что после окончания списка во всех ячейках остаётся только последний элемент списка.

