Потеря данных при копировании из CSV в SQL - PullRequest
0 голосов
/ 29 января 2019

Я использую Vertica Python для копирования данных из CSV-файла в таблицу на Vertica.Хотя это работает довольно быстро, я теряю около 700 строк данных.Я пытался удалить файл CSV и загрузить из нового файла CSV, но я сталкиваюсь с той же проблемой.Может кто-нибудь сказать мне, что я делаю неправильно в своем коде?

with open('new.csv', 'r',encoding="utf8") as file:
    csv_file = file.read()
    copy_cmd = "COPY Account FROM STDIN DELIMITER ','"
    cur.copy(copy_cmd, csv_file)
    connection.commit()

Что-то в коде заставляет меня терять сотни строк из файла csv?

1 Ответ

0 голосов
/ 29 января 2019

Вы можете использовать ОТКАЗАННЫЕ ДАННЫЕ и ИСКЛЮЧЕНИЯ, чтобы выяснить, какие строки отсутствуют и почему.Вам нужно указать путь для каждого.Отклоненные данные покажут, какие строки не были скопированы, а исключения показывают, в чем заключалась ошибка.

COPY Account FROM STDIN DELIMITER ',' REJECTED DATA '/path/to/rejections.txt' EXCEPTIONS '/path/to/exceptions.txt';
...