Я работаю над очень сложным необработанным оператором sql, который нужно запускать с помощью sqlalchemy. Одна часть оператора - это СОЕДИНЕНИЕ с временной таблицей, заполненной данными из файла csv.
Выбор выглядит следующим образом:
(SELECT * FROM (VALUES ('1','[email protected]','+99123456798')) AS t (id, email, phone))
Чтобы предотвратить любые SQL-инъекции, я не могу просто скопировать и вставить все из csv в выбранный.
Я знаю, что sqlalchemy имеет возможность вставлять значения с помощью :x
, а затем передавать фактическое значение в методе execute
, но у меня много значений, и замена их будет невозможна.
Есть ли способ создать эту временную таблицу из csv с необходимой защитой от внедрения sql с помощью sqlalchemy?
Вы смотрели stackoverflow.com/questions/18858291/…?
Как насчет загрузки строк в пандах и выталкивания строк оттуда? Или read_csv построчно и преобразуйте их в
dict
, который можно использовать для вставки, и вам не нужно заботиться о замене. Все, что вам нужно передать, - это действующая структура данных.