sql >> Database teknologi >  >> RDS >> Mysql

Ødelagt CSV, hvordan kan jeg rette det?

Du være i stand til at narre det og bruge et regex til at lede efter:

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

Men det er noget hack-agtigt (accepter i princippet kun et slutcitat, når det umiddelbart efterfølges af et komma eller en slutning på linjen). Samme logik ville gælde for en find-erstat. (Igen, alt dette forudsætter, at et "omstrejfende" citat aldrig vil følge standard CSV-regler (f.eks. have et komma/linje [begyndelse/slut] før eller efter det))

Jeg går ud fra, at du ikke har kontrol over de originale data og skal arbejde med det, du har?

REDIGER

Selvom jeg kun har prøvet dette på en lille eksempel på dine data, ser dette ud til at finde "omstrejfende" anførselstegn, som du kan bruge en erstatning til med "" på:

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


  1. SQLAlchemy med standarddataklasse udfylder ikke postgres-database

  2. ORA-01036:ulovligt variabelnavn/nummer under opkald af lagret funktion

  3. Oracle SQL-sætning dynamisk skemavariabel

  4. Kan ikke finde nogen matchende række i brugertabellen