Uvozi CSV pogosteje spodletijo iz dolgočasnih kot dramatičnih razlogov. Datoteka je videti v redu v preglednici, nato pa v CRM, CMS ali internem administrativnem orodju odpove, ker ločilo ni tisto, ki ga je prejemni sistem pričakoval. Frustracija je, da so vrstice lahko na prvi pogled povsem smiselne. Težava postane očitna šele, ko razčlenjevalnik datoteko bere drugače kot človek.
Težave z ločili so jasen primer, zakaj surov pregled datoteke ni dovolj. Videti vejice, podpičja, tabulatorje ali navpičnice v besedilu pove nekaj. Videti, kako jih parser dejansko interpretira, pove veliko več.
To je naloga Preverjevalnika CSV v Convertyju. Ne poskuša postati tvoj uvozni sistem, ampak pomaga pregledati zaznavanje ločil, predpostavke o glavah, obliko vrstic in razčlenjen izhod, preden datoteka pride do krhkega koraka, kjer jo drug sistem zavrne.
Zakaj so težave z ločili tako pogoste
Veliko datotek CSV je "CSV" le v ohlapnem smislu: ločeno besedilo za izmenjavo v slogu preglednic. V praksi je ločilo lahko vejica, podpičje, tabulator ali navpičnica, odvisno od vira izvoza, locale nastavitev ali navad ekipe.
Zato se težave pogosto pojavijo v mednarodnih ali medorodnih potekih. En izvoz uporablja podpičja. Drug uporablja tabulatorje, ker podatki že vsebujejo vejice v prostem besedilu. Tretji sistem pravi CSV, a tiho pričakuje ozko strukturo z doslednim navajanjem in glavami.
Rezultat je znan: glava se sesede v en stolpec, število polj se spremeni sredi datoteke ali pa uvoz navidezno uspe, podatke pa premakne v napačne stolpce.
Varnejše vprašanje ni "katero ločilo vidim", ampak "kako se datoteka bere"
Tu je Convertyjev razčlenjen predogled pomembnejši od surovega besedila. Če parser zazna vejico, datoteka pa je potrebovala podpičje, bo oblika takoj razpadla. Če parser zazna podpičje in se vrstice poravnajo, je veliko verjetneje, da bo uvoz deloval.
Navada pregleda se spremeni. Ne prepiraš se več o surovem znaku, ampak preverjaš strukturirano interpretacijo. Ločilo ni več samo ločilo; postane pravilo razčlenjevanja, ki ga lahko potrdiš ali izpodbiješ.
Zato sodita zaznavanje ločil in stikalo za glavo skupaj. Vrstica je lahko razčlenjena s pravim ločilom, a še vedno napačna, če je prva vrstica napačno razvrščena.
Realističen potek pred uvozom
Predstavljaj si izvoz kontaktov iz enega sistema v drugega. Datoteka se odpre v preglednici, več stolpcev pa vsebuje vejice v navednicah, vir izvoza pa je zaradi lokalne nastavitve uporabil podpičja.
Površen pregled zlahka zgreši težavo. Boljši potek:
- Odpri datoteko v Preverjevalniku CSV ali prilepi reprezentativen vzorec.
- Preglej zaznano ločilo, namesto da ga predpostaviš.
- Preklopi obravnavo glave, če je prva vrstica sumljiva.
- Preberi seznam težav za neenakomerne vrstice, podvojene glave ali praznine.
- Preveri razčlenjen predogled, da potrdiš poravnavo stolpcev z uvoznim ciljem.
Zaporedje odstrani ugibanje. Ne poskušaš na oko presoditi, ali je vejica ločilo ali znak v navednicah, ampak preverjaš rezultat razčlenjevanja.
Težave z ločili so pogosto povezane s težavami z glavami
Če prva vrstica postane en dolg niz, ker je ločilo napačno, je datoteka lahko videti, kot da ima pokvarjeno glavo, čeprav je resnična težava ločilo. Obratno velja tudi: pravilno ločilo z napačno predpostavko o glavi lahko naredi veljavno datoteko sumljivo.
Zato je stikalo za glavo pomembno. Hitro potrdi, ali naj se prva vrstica obravnava kot oznake ali kot podatki, brez ročnega preoblikovanja datoteke.
Navednice, mešana vsebina in težave po vrsticah so razlog za predogled
Težave z ločili postanejo bolj varljive, ko datoteka vsebuje navedeno besedilo, vdelana ločila ali neenakomerne vrstice. Podporni izvoz ima lahko opombe z vejicami. Katalog izdelkov ima lahko opise s podpičji. Ročno urejena preglednica ima lahko eno pokvarjeno vrstico na sredini.
Tu moraš skupaj brati seznam težav in razčlenjen predogled. Opozorilo pove, da je nekaj narobe. Predogled pokaže, kaj parser misli, da se je zgodilo. To je uporabnejše od enega napisa napake, ker vodi do popravka.
Širši vodnik Kako preveriti datoteke CSV, preden uvoz spodleti pokriva celotno preverjanje. Ta članek je ožji: o ločilih in o tem, zakaj moraš logiko razčlenjevanja potrditi pred uvozom.
Popravi datoteko, preden uvozno orodje postane debugger
Uvozni sistemi so običajno slaba mesta za debugiranje CSV strukture. Povedo, da je vrstica odpovedala ali da število stolpcev odstopa, vendar datoteke pogosto ne pokažejo na način, ki pomaga hitro popraviti težavo.
Zato je preduvozni pregled dragocen. Debugiranje ostane blizu izvorne datoteke. Če se naslednje delo premakne iz tabelaričnih podatkov v konfiguracijske formate, preberi Zakaj izhod TOML ni na voljo za nekatere vnose JSON ali YAML. Lekcija je ista: veljavno besedilo ni vedno veljavna struktura za naslednji sistem.
Preverjanje ločila je poceni zavarovanje
Najboljši uvoz CSV je dolgočasen, ker je bila struktura potrjena pred nalaganjem. Težave z ločili so nadležne prav zato, ker jih je mogoče preprečiti. Ne potrebuješ težke podatkovne platforme; potrebuješ hiter način, da preveriš, kako se datoteka bere.
Odpri Preverjevalnik CSV, uporabi pogosta vprašanja za podrobnosti poteka, vrni se k Kako preveriti datoteke CSV, preden uvoz spodleti za širši kontrolni seznam in imej pri roki Zakaj izhod TOML ni na voljo za nekatere vnose JSON ali YAML, kadar se naslednja predaja premakne iz vrstic v konfiguracijske podatke.



