Ellenőrizd a katalógus CSV-jét tízezer sor importálása előtt
Tíz mintasor segítségével ellenőrizd a katalógus CSV-jét: ismétlődő SKU-k, hiányos variánsok, hibás árformátumok és sérült szöveg importálás előtt.
TL;DR: Katalógus CSV érvényesítéséhez először ellenőrizd, hogyan értelmezi a célrendszer; majd vizsgáld át az oszlopokat, azonosítókat, variánsokat és értékeket. Próbálj ki egy mintát ismert hibákkal, és érvényesítsd a teljes fájlt feltöltés előtt. Az, hogy tíz sor átmegy, nem bizonyítja, hogy a többi is rendben van, vagy hogy egy frissítés minden adatot megőriz.
Tartalomjegyzék
A katalógus CSV érvényesítése azzal kezdődik, hogy tudjuk, mi fog változni az importálás során. Ezután jönnek az oszlopok, az azonosítók és az értékek. Egy figyelmeztetés nélkül megnyíló lap tartalmazhat két terméket ugyanazzal az SKU-val, vagy egy méretet érték nélkül. Egy elfogadott fájl is frissítheti a rossz terméket.
A következő teszt arra szolgál, hogy megtanuljuk megkülönböztetni ezeket a hibákat. Tíz kitalált sort tartalmaz, ellenőrizhető eredményekkel. Ez nem egy valódi bolt mintája, és nem is egy Shopify vagy Frihet számára előkészített fájl: ez egy saját didaktikai séma, amelyet a célrendszer sémájával kell helyettesítened.
Kezdd a célrendszerrel, ne a szállító fájljával
Töltsd le az aktuális sablont, vagy exportálj egy jellemző terméket az adatokat fogadó eszközből. Jegyezd fel, hogy új rekordokat hozol létre, meglévőket frissítesz, vagy mindkettőt végzed; mi azonosít egy rekordot; mely mezők kötelezőek; és mit jelent egy üres cella. Tartsd ezt a leírást a munkafájl mellett.
Shopify esetében például a felülírás az URL-azonosítón, a handle-ön alapul. Dokumentációja megköveteli a variáns mezők és opciók közötti függőségek ellenőrzését is. Az SKU-szabályunk nem írja le, hogy az importáló hogyan azonosítja a termékeket. Shopify termékformátum.
Ha rendszerek között mozgatsz adatokat, különítsd el ezt az ellenőrzést a webáruház és az ügyviteli rendszer összekapcsolásától (angolul). Egy elérhető csatlakozó nem bizonyítja, hogy elfogadja a szállítód oszlopait.
Definiálj ellenőrizhető szabályokat
A gyakorlatban minden sor egy értékesíthető tételt képvisel. A product_key csoportosítja a variánsait; az sku mezőnek jelen kell lennie és egyedinek kell lennie. A name kötelező. Egy variánsnak szüksége van option_name-re és option_value-ra; mindkettő üresen hagyása azt jelenti, hogy nem deklarálunk opciót. Ha mindkettő kitöltött, akkor a product_key-vel való kombinációjuk nem ismétlődhet.
A fájl UTF-8 kódolást, vesszőt használ a mezők között, és nyolc oszlopot a megadott sorrendben. A price nem negatív számokat engedélyez ponttal és két tizedesjeggyel, ezreselválasztó nélkül. A currency mezőben ehhez a teszthez EUR értéket várunk el. Ezek a teszthez kiválasztott feltételek, nem univerzális szabályok vagy kereskedelmi árak. Nincs pénznemátváltás vagy adószámítás.
Az SKU-k szövegként maradnak meg: a 001 nem alakul át 1-re. A Microsoft elmagyarázza, hogyan kerülhetők el az automatikus átalakítások az azonosítók Excelbe történő betöltésekor. Állítsd be az oszlop típusát az adatok átalakítása előtt; a megjelenés későbbi megváltoztatása nem építi újra az eredetit. Kezdő nullák megőrzése az Excelben.
Tíz sor, köztük egy, ami helyesnek tűnik
Másold ki a blokkot szövegként a vizsgálathoz. Az utolsó sor szándékosan eggyel kevesebb mezőt tartalmaz. A row_id a teszt azonosítója; az R01 a fájl második sorában található, mert az első a fejléceket tartalmazza.
A spanyol terméknevek minden nyelvi változatban ugyanazok a rögzített mintaértékek, hogy az eredmények reprodukálhatók maradjanak.
row_id,product_key,sku,name,option_name,option_value,price,currencyR01,P01,001,Taza,Color,Natural,19.90,EURR02,P01,002,Taza,Color,Ink,19.90,EURR03,P02,001,Bolsa,,,29.00,EURR04,P03,,Cuaderno,,,8.50,EURR05,P04,005,Café,,,6.00,EURR06,P05,006,Vaso,,,"12,50",EURR07,P06,007,Camiseta,Size,,24.00,EURR08,P01,008,Taza,Color,Natural,19.90,EURR09,P07,009,,,,15.00,EURR10,P08,010,Bandeja,,,25.00| Sor | Várható eredmény | Mit kell vizsgálni |
|---|---|---|
| R01 | Blokkolás: Duplikált SKU és variáns | Hasonlítsd össze az R03-mal és az R08-cal; ez a sor sem kerül elfogadásra. |
| R02 | Megfelel a feladat szabályainak | Tartsd meg kontrollsorként; nem bizonyítja a célrendszerrel való kompatibilitást. |
| R03 | Blokkolás: Duplikált SKU | A 001 azonosítja az R01-es csészét is. |
| R04 | Blokkolás: Hiányzó SKU | Kérd el a termékkódot; ne találd ki a névből. |
| R05 | Szöveg ellenőrzése | Hasonlítsd össze a Café-t a szállító eredetijével. |
| R06 | Blokkolás: Árformátum | A tizedesvessző ellentmond a kiválasztott szabálynak. |
| R07 | Blokkolás: Hiányos variáns | Van Size érték nélkül. |
| R08 | Blokkolás: Duplikált variáns | P01 + Color + Natural már szerepel az R01-ben, még akkor is, ha az SKU változik. |
| R09 | Blokkolás: Hiányzó név | Azonosítsd a terméket, mielőtt folytatnád. |
| R10 | Blokkolás: Hiányos szerkezet | Hét mező van; a pénznem oszlopa is elvárt volt. |
Az eredmény nyolc blokkolt sor, egy felülvizsgálatra váró és egy, amely átment. Ezek sorállapotok, nem nyolc független hiba: az R01 két konfliktussal rendelkezik. Minden eredményt ellenőrizhetsz a sorok közötti kulcsok és a mezők korábbi szabályokkal való összehasonlításával.
Egy duplikátumot nem az első sor kiválasztásával oldunk meg
Az R01 önmagában olvasva teljesnek tűnik. A konfliktus akkor merül fel, amikor az egész készletet átvizsgáljuk: megosztja az SKU-t egy táskával és a variáns kombinációt egy másik csészével. Ezért az ellenőrzésnek a csoport minden tagját meg kell jelölnie, nem pedig az elsőt jóváhagynia és az utolsót elutasítania.
Kérd meg a katalógus karbantartóját, hogy erősítse meg, hibás-e a termékkód, ismétlődő termék vagy rosszul leírt variáns. Rögzítsd a döntést a korábbi értékkel, az újjal és annak okával együtt. Ne töröld az R08-at csak azért, mert a neve megegyezik; egy valódi katalógus megkülönböztethet anyagot, méretet vagy más opciókat, amelyeket ez az egyszerűsített lap nem tartalmaz.
A valódi importálási köteget hasonlítsd össze a célrendszerben már meglévő termékkódokkal is. Egy CSV-n belüli egyedi SKU még mindig egyezhet egy másik termékkel a fájlon kívül. Határozd meg azt is, hogyan kezeld a szóközöket és a nagybetűk/kisbetűk közötti különbségeket a normalizálás előtt: egy azonosító tisztítása olyan termékkódokat egyesíthet, amelyeknek külön kellett volna maradniuk.
Válaszd szét a formátumot, a szöveget és a jelentést
Az R06 "12,50"-et tartalmaz: az idézőjelek egyetlen cellában tartják az árat. A vesszők kézi számlálása helytelen diagnózist adna; használj CSV-olvasót. Az RFC 4180 leírja ezt az idézőjeles konvenciót, de nem definiálja, milyen oszlopokra van szüksége egy katalógusnak, vagy hogyan kell értelmezni egy árat. Az R06 CSV-szintaxisa érvényes, de az érték nem felel meg a mezőre meghatározott szabályunknak.
Ne cseréld le mindenhol a vesszőket pontokra: ezzel az elválasztókat és a tartalmat is megváltoztatnád. Először azonosítsd a mezőt, ellenőrizd a forrás formátumát, majd ellenőrzött lépésben alakítsd át az értéket. Az üres sem egyenlő nullával; a nulla ár rögzítése egy kereskedelmi döntés lenne, amit senki sem erősített meg.
Az R05 további ellenőrzést igényel. A Café szöveg érvényes UTF-8 bájtokkal van tárolva; ez nem bizonyítja, hogy a név helyes. Ennek a gyakorlatnak az értesítése erre a konkrét értékre készült, nem univerzális kódolás-érzékelő. Hasonlítsd össze a nevet a forrással, és ellenőrizd, melyik lépésben torzult. A már sérült szöveg UTF-8-ként való újbóli mentése nem állítja vissza automatikusan a karaktereit.
Frissítés előtt ellenőrizd, mi marad meg
Egy hiányzó oszlop és egy üres cella különböző változásokat eredményezhet. A Shopify dokumentálja, hogy felülíráskor egy üresen megadott opcionális mező kiürítheti a meglévőt; az oszlop kihagyása megőrizheti azt. Arra is figyelmeztet, hogy egy megkezdett importálás nem szakítható meg, és javasolja az előzetes másolatot. Shopify importálási feltételek.
Egy variáns azonosítója is megváltozhat: a Shopify figyelmeztet, hogy az opciók értékeinek módosítása törli a korábbi azonosítóikat és újakat hoz létre. Nézd át az ezektől függő kapcsolatokat, mielőtt CSV-n keresztül javítanál egy opciót. Variáns opciók és azonosítók.
Készíts összehasonlítást a korábbi állapot, a tervezett változás és a megfigyelt eredmény között. Vedd fel azokat a mezőket, amelyeknek változatlanul kell maradniuk. Tesztelj elérhető tesztkörnyezetben, és tartsd együtt egy termék kapcsolódó sorait; tíz egymást követő sor nem mindig képvisel tíz teljes terméket.
Valódi művelet esetén különböző eseteket választanál: egyszerű termék, több opció, ékezetes karakterek, üres ár és egy meglévő termékkód frissítése. Ez a minta a teljes importálási folyamatot teszteli. Ezután alkalmazd a szabályokat a teljes fájlra: a duplikátumok több ezer sorral is elválaszthatók lehetnek. Tekintsd meg az integrációkat, hogy azonosítsd a munkafolyamatod eszközeit, és ellenőrizd mindegyik elvárt adatformátumát.
Hagyj egy döntést, amit más is átnézhet
Feltöltés előtt jegyezd fel a fájl verzióját, a célt, a felelőst, az alkalmazott szabályokat, a megoldott eseteket és a tesztelés összehasonlítását. Ha hiányzik egy megerősítés, tartsd meg a függőben lévő tételt; egy «importálva» üzenet nem helyettesíti ezt a felülvizsgálatot.
A Frihet támogatja a termékek CSV importálását, ügyviteli funkcióin belül. A cikkben szereplő séma és kézi ellenőrzések függetlenek a Frihettől: nem igazolják, hogy a Frihet mely mezőket fogadja el, vagy milyen ellenőrzéseket végez automatikusan. Használd az importálód sablonját, és kezdd azokkal a sorokkal, amiket még nem tudsz megmagyarázni.
Hasznos volt ez a cikk?
Gyakran ismételt kérdések
Ezek az ellenőrzések helyettesítik az importáló szabályait?
Nem: a séma és a kézi ellenőrzések önálló gyakorlatot alkotnak. Használd a célrendszer aktuális sablonját, és ellenőrizd a létrehozásra, frissítésre és üres mezőkre vonatkozó szabályait.
Tíz sor ellenőrzése garantálja a katalógus többi részének helyességét?
Nem. A minta a folyamat kipróbálására szolgál; utána alkalmazd a szabályokat a teljes fájlra, és vesd össze a célrendszer meglévő hivatkozásaival, mert a mintán kívül is lehetnek duplikátumok.