Я пытаюсь вставить данные из файла CSV в базу данных SQL Server, используя Python.Однако я хочу удалить некоторые строки перед массовой вставкой, чтобы у меня не было дублированных данных.
Дублированные данные можно найти путем объединения страны, периода и розничных продавцов ... В базе данных это объединение всегда будет уникальным.
Приведенный ниже код извлекает столбцы, которые мне нужно проверить изCSV файл.Я также создал переменную с именем CSV_Concat, которую я хотел бы проверить (не уверен, что это правильный путь!)
CSVData = pd.read_csv("filename",delimiter = "|")
CSV_Concat = CSVData ['Country'] + CSVData ['Period'] + CSVData ['Retailers']
Код ниже устанавливает соединение ...
cnxn=pyodbc.connect('DRIVER='+driver+';SERVER='+server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
Наконец, с помощью приведенного ниже кода я хотел бы проверить, существуют ли в моей строке String сцепленные столбцы в моей базе данных.Если я могу найти объединенные данные, которые уже существуют - я могу удалить их из базы данных SQL, прежде чем загружать свой CSV-файл ... но я точно не знаю, как это сделать (я получаю TypeError: первый аргумент для выполнениядолжен быть запросом строки или Unicode)
cursor.execute("SELECT Count(*) FROM " + tablename_to_upload + " Where CONCAT(Country,Period,Retailers) in (" + CSV_Concat + ")")
Спасибо!