Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Uszkodzony CSV, jak mogę to naprawić?

możesz być w stanie go oszukać i użyć wyrażenia regularnego do wyszukania:

"(.*?)"(?=,|$)

Ale to trochę hackowe (zasadniczo akceptuj tylko cytat końcowy, gdy natychmiast następuje przecinek lub koniec wiersza). Ta sama logika miałaby zastosowanie do znajdowania i zastępowania. (Ponownie, to wszystko zakłada, że ​​"zabłąkany" cytat nigdy nie będzie zgodny ze standardowymi regułami CSV (np. Przed lub po przecinku/linii [początek/koniec]))

Zakładam, że nie masz kontroli nad oryginalnymi danymi i musisz pracować z tym, co masz?

EDYTUJ

Chociaż próbowałem tego tylko na małym próbka Twoich danych, wygląda na to, że znajduje się „zabłąkane” cudzysłowy, które można zastąpić "" w dniu:

(?<!^|"|,)"(?!"|,|$)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstawianie NOW() do bazy danych z aktywnym rekordem CodeIgniter

  2. Problem z przechowywaniem danych w bazie danych w php

  3. Wstawianie danych z frontendu do mysql db w angularjs

  4. co jest szybsze, count(*) lub count(table_field_name) w mysql?

  5. Jakie mam opcje, aby moje ZAMÓWIENIE BY było szybsze?