Python: добавить в строку N раз

Мой скрипт анализирует каталог на наличие файлов JSON и создает таблицы в базе данных для каждого из них. Сейчас я работаю над импортом данных из этих файлов. Чтобы построить строку запроса SQL с числом столбцов переменной длины, мне нужно добавить строку запроса с%s для каждого столбца, прежде чем закрыть строку запроса с помощью ")" и вернуть ее в функцию записи импорта.

Рабочий код выглядит так:

TABLES[tablename] += (
    "INSERT INTO " + tablename + str(tuple(table[0].keys())).replace("'", "")
)

TABLES[tablename] += "\nVALUES\n("

А затем проблемная часть:

    for key in table[0].keys():
        key = key  # just to shut the linter up...
        TABLES[tablename] += "%s, "

Линтер жалуется, что я не использую переменную key. Это не мешает ему работать, но предполагает, что, вероятно, есть лучший способ сделать это.

Я пробовал это:

TABLES[tablename].extend("%s, ", len(table[0].keys()))

Что вызвало исключение, что объект 'str' не имеет атрибута 'extend'

Нет лучшего способа str += "value" * x?

1 ответ

Решение

Вы можете попробовать одноразовую переменную _ (у кого-то может быть более подробное описание) и проверьте, не жалуется ли ваш линтер на то, что не использует его.

Что-то типа:

for _ in table[0].keys():
  TABLES[tablename] += "%s, "
Другие вопросы по тегам