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, "