Использование Python_Check для дубликатов в базе данных SQL для данных из файла CSV - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь вставить данные из файла 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 + ")")

Спасибо!

...