sql >> Databáze >  >> RDS >> Mysql

Poškozený CSV, jak to mohu opravit?

můžete být schopen to oklamat a pomocí regulárního výrazu hledat:

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

Ale to je trochu hackerský (v zásadě přijměte koncovou uvozovku, když bezprostředně následuje čárka nebo konec řádku). Stejná logika by platila pro hledání-nahrazení. (Opět to vše předpokládá, že „zbloudilá“ citace se nikdy nebude řídit standardními pravidly CSV (např. mít před nebo za čárkou/řádek [začátek/konec]))

Předpokládám, že nemáte kontrolu nad původními daty a musíte pracovat s tím, co máte?

UPRAVIT

I když jsem to zkoušel jen na malém vzorku vašich dat, zdá se, že najdete "zbloudilé" uvozovky, které můžete nahradit výrazem "" dne:

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


  1. doktrína - získat další a předchozí záznam

  2. Vytvořte vícesloupcový index pro posílení jedinečnosti

  3. Zkombinujte PowerShell a SQL Diagnostic Manager pro automatizaci monitorování SQL Serveru

  4. při vkládání více řádků do sql dochází k chybě