Помогите улучшить цикл
Я создаю запрос на создание таблицы для базы данных 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