Заполните разные ячейки в столбце с различными значениями, используя цикл «для» - PullRequest
0 голосов
/ 09 февраля 2020

Я пытаюсь заполнить первые 9 ячеек в первом ряду различными значениями в таблице Excel. Код как есть, заполняет первые 9 ячеек, как и ожидалось, НО вместо того, чтобы заполнять каждую из ячеек значениями переменных переменной «j» - «a», «b», «c», «d», «e» в каждой из всех ячеек он заполняет все 9 ячеек только последним значением - «е». Как я могу заставить код перебирать строку, назначенную в "j", и заполнять ячейки в электронной таблице каждой из строковых букв?

Python версия 3.6, IDE: Pycharm

Вот код:

import xlsxwriter
workbook = xlsxwriter.Workbook("test.xlsx")
worksheet = workbook.add_worksheet()
for h in range(0, 9): #Cell position generator
    u = 1
    cell_position = (u + h)
    g = "A"
    f = str(cell_position)
    iterated_cell_position = [g+f]#puts cell positions in a list
    j = "abcde"
    for p in iterated_cell_position:
        for e in j:
            worksheet.write(p, e)
workbook.close()

Пожалуйста, помогите мне с этим? Спасибо.

1 Ответ

1 голос
/ 09 февраля 2020

your iterated_cell_position - это массив из одного элемента, а строка

for e in j:
   worksheet.write(p, e)

просто записывает каждое письмо в одну и ту же ячейку. Таким образом, вы записываете a в ячейку, затем b в ячейку, затем c и так далее. Попробуйте

import xlsxwriter
workbook = xlsxwriter.Workbook("test.xlsx")
worksheet = workbook.add_worksheet()
j = "abcde"
for h in range(0, 9): #Cell position generator
    e = j[h % 5] # gets the correct letter in j (wraps around when h gets too large)
    cell_position = "A{}".format(h + 1)
    worksheet.write(cell_position, e) 
workbook.close()
...