Импорт паразитных символов в SQL CSV

#mysql #csv #innodb

#mysql #csv #innodb

Вопрос:

Мой CSV-файл (образец) :

 ;"=""VENTE""";2020/09/11;
;"=""IBH""";2020/09/15;
;"=""HGTPE""";2020/09/02;
  

Мой sql-запрос :

LOAD DATA INFILE 'test.csv' INTO TABLE siel_demo CHARACTER SET latin1 FIELDS TERMINATED BY ';' optionally ENCLOSED BY '"' LINES TERMINATED BY 'rn' IGNORE 1 LINES

Результат :

скриншот

Но я хочу :

введите описание изображения здесь

После нескольких попыток я не могу сохранить только значение без паразитных символов

Комментарии:

1. Какую СУБД вы используете?

2. Я использую на самом деле InnoDB

3. Данные были загружены правильно, и значения, которые вы видите, соответствуют фактическим значениям в CSV. Если вам нужен какой-то другой формат (основанный на формате, который я ожидаю от Excel), вам нужно либо экспортировать их по-другому (без формул), изменить CSV после экспорта, либо изменить данные после импорта.

4. Данные CSV поступают из программного обеспечения, которое нельзя настроить. У меня нет другого выбора, кроме как работать с этими данными. Должно быть решение игнорировать «» или =

Ответ №1:

После загрузки csv вы можете запустить запрос на обновление, чтобы удалить ненужные символы.

например UPDATE siel_demo SET grille = SUBSTR(grille, 3, LENGTH(grille) - 3) WHERE grille LIKE '="%"'