Помогите улучшить цикл

Я создаю запрос на создание таблицы для базы данных SQL в питоне. Но максимально я могу создать только 26 столбцов с названием A-Z. Как создавать больше столбцов типа АА - и так до бесконечности(Как в таблицах Excel)

request = "CREATE TABLE Extable (id INT AUTO_INCREMENT PRIMARY KEY"

for i in range(0, col_quantity):
    if i <= 25:
        columm = ", %s VARCHAR(255)" % chr(65 + i)
        request = request + columm
request = request + ")"

Ответы (1 шт):

Автор решения: splash58

Эта функция возвращает имя колонки по ее последовательному номеру

Имейте в виду, что счет колонок идет от единицы. Впрочем, если нужно от 0, просто добавьте единичку при входе в функцию

def colname(num):
    name = []
    while num :
        num, rest = divmod(num-1, 26)
        name.append(chr(rest+ord('A')))
    return ''.join(name[::-1])


print(colname(1))
print(colname(26))
print(colname(27))
print(colname(28))

A
Z
AA
AB
→ Ссылка