Hopp til innhold
← Tilbake til Journal
Guider
7 min lesing

Valider CSV-katalogen din før du importerer ti tusen rader

Finn dupliserte SKU-er, manglende variantverdier og feil i priser eller tekst før import. Ti CSV-rader med resultater du kan kontrollere selv.

Av Frihet-teamet
Valider CSV-katalogen din før du importerer ti tusen rader

TL;DR: For å validere en CSV-katalog, sjekk først hvordan destinasjonen tolker den; deretter se gjennom kolonner, identifikatorer, varianter og verdier. Test en prøve med kjente feil og valider hele filen før du laster den opp. At ti rader passerer, beviser ikke at de andre er i orden, eller at en oppdatering bevarer alle data.

Innhold

Å validere en CSV-katalog begynner med å vite hva som vil endres ved import. Deretter kommer kolonner, identifikatorer og verdier. Et ark som åpnes uten advarsler kan inneholde to produkter med samme SKU eller en størrelse uten verdi. En akseptert fil kan også oppdatere feil produkt.

Øvelsen nedenfor hjelper deg å skille mellom feiltypene. Det er ti oppdiktede rader, med kontrollerbare resultater. Det er ikke en prøve fra en ekte butikk eller en fil klargjort for Shopify eller Frihet: det er et eget øvingsformat som du må erstatte med formatet til systemet som skal motta dataene.

Start med destinasjonen, ikke leverandørens fil

Last ned en gjeldende mal eller eksporter et representativt produkt fra verktøyet som skal motta dataene. Noter om du skal opprette, oppdatere eller kombinere begge operasjonene; hva som identifiserer en post; hvilke felt som er obligatoriske; og hva det betyr å la en celle stå tom. Oppbevar denne definisjonen sammen med arbeidsfilen.

I Shopify, for eksempel, er overskrivingen basert på URL-identifikatoren, kalt handle. Dokumentasjonen krever også gjennomgang av avhengigheter mellom variantfelt og alternativer. Vår SKU-regel beskriver ikke hvordan denne importfunksjonen identifiserer produkter. Shopify-produktformat.

Hvis du flytter data mellom systemer, skiller du denne gjennomgangen fra forbindelsen mellom butikk og administrasjon (på engelsk). En tilgjengelig kobling beviser ikke at den godtar leverandørens kolonner.

Definer regler du kan kontrollere

I øvelsen representerer hver rad en salgbar vare. product_key grupperer dens varianter; sku må være til stede og unik. name er obligatorisk. En variant krever option_name og option_value; Hvis begge er tomme, er det ikke angitt noe alternativ. Når begge er utfylt, kan kombinasjonen med product_key ikke gjentas.

Filen bruker UTF-8, komma mellom feltene og åtte kolonner i den viste rekkefølgen. price godtar ikke-negative tall med punktum og to desimaler, uten tusenseparator. I currency krever vi EUR for denne testen. Dette er betingelser valgt for denne testen, ikke universelle regler eller kommersielle priser. Det er ingen valutakonvertering eller skatteberegning.

SKU-ene bevares som tekst: 001 konverteres ikke til 1. Microsoft forklarer hvordan man unngår automatiske konverteringer når man laster identifikatorer i Excel. Definer kolonnens type før du transformerer dataene; å endre utseendet etterpå rekonstruerer ikke originalen. Beholde innledende nuller i Excel.

Ti rader, inkludert en som ser korrekt ut

Kopier blokken som tekst for å undersøke den. Den siste raden har en kolonne mindre med vilje. row_id er testidentifikatoren; R01 er på den andre linjen i filen, fordi den første inneholder overskriftene.

Produktnavnene og de øvrige eksempelverdiene er like i alle språkversjoner, slik at resultatene kan gjenskapes.

row_id,product_key,sku,name,option_name,option_value,price,currency
R01,P01,001,Taza,Color,Natural,19.90,EUR
R02,P01,002,Taza,Color,Ink,19.90,EUR
R03,P02,001,Bolsa,,,29.00,EUR
R04,P03,,Cuaderno,,,8.50,EUR
R05,P04,005,Café,,,6.00,EUR
R06,P05,006,Vaso,,,"12,50",EUR
R07,P06,007,Camiseta,Size,,24.00,EUR
R08,P01,008,Taza,Color,Natural,19.90,EUR
R09,P07,009,,,,15.00,EUR
R10,P08,010,Bandeja,,,25.00
RadForventet resultatHva å undersøke
R01Blokker: duplisert SKU og variantSammenlign med R03 og R08; denne raden godkjennes heller ikke.
R02Består øvelsens reglerBehold som kontroll; beviser ikke kompatibilitet med destinasjonen.
R03Blokker: Duplisert SKU001 identifiserer også koppen fra R01.
R04Blokker: mangler SKUBe om referansen; ikke finn den opp fra navnet.
R05Gjennomgå tekstSammenlign Café med leverandørens original.
R06Blokker: prisformatKommaet som desimaltegn motsier den valgte regelen.
R07Blokker: ufullstendig variantDet er Size uten verdi.
R08Blokker: duplisert variantP01 + Color + Natural vises allerede i R01, selv om SKU endres.
R09Blokker: mangler navnIdentifiser produktet før du fortsetter.
R10Blokker: ufullstendig strukturDet er syv felt; kolonnen for valuta var også forventet.

Resultatet er åtte blokkerte rader, én under gjennomgang og én som passerer. Dette er statusene til radene, ikke åtte uavhengige feil: R01 har to konflikter. Du kan kontrollere hvert resultat ved å sammenligne nøklene mellom rader og feltene med de tidligere reglene.

Et duplikat løses ikke ved å velge den første raden

R01 virker fullstendig når den leses alene. Konflikten oppstår når hele settet gjennomgås: den deler SKU med en pose og variantkombinasjon med en annen kopp. Derfor må sjekken markere alle medlemmene i gruppen, ikke godkjenne den første og avvise den siste.

Be den som vedlikeholder katalogen om å bekrefte om det er en feil referanse, et gjentatt produkt eller en feilbeskrevet variant. Lagre avgjørelsen med den tidligere verdien, den nye og dens årsak. Ikke slett R08 bare fordi navnet stemmer overens; en ekte katalog kan skille mellom materiale, størrelse eller andre alternativer som dette forenklede arket ikke inkluderer.

For den faktiske importfilen må du også sammenligne med referansene som allerede eksisterer i destinasjonen. En unik SKU innenfor CSV-en kan fortsatt matche et annet produkt utenfor filen. Definer også hvordan du skal behandle mellomrom og forskjeller i store/små bokstaver før normalisering: å rense en identifikator kan slå sammen referanser som skulle vært holdt adskilt.

Skill format, tekst og betydning

R06 inneholder "12,50": anførselstegnene holder prisen i én enkelt celle. Å telle kommaer manuelt ville gitt en feil diagnose; bruk en CSV-leser. RFC 4180 beskriver denne anførselstegnkonvensjonen, men definerer ikke hvilke kolonner en katalog trenger eller hvordan en pris skal tolkes. Syntaksen for R06 er gyldig; verdien oppfyller ikke regelen vår for feltet.

Ikke foreta en global erstatning av kommaer med punktum: du ville endret både skilletegn og innhold. Identifiser først feltet, bekreft kildeformatet og konverter verdien på en kontrollert måte. Et tomt felt tilsvarer heller ikke null; å registrere pris null ville vært en kommersiell beslutning som ingen har bekreftet.

R05 krever en annen sjekk. Teksten Café er lagret med gyldige UTF-8-bytes; det beviser ikke at navnet er korrekt. Advarselen i denne øvelsen er forberedt for den spesifikke verdien, det er ikke en universell kodingsdetektor. Sammenlign navnet med kilden og sjekk hvilket trinn det ble deformert i. Å lagre allerede skadet tekst som UTF-8 på nytt gjenoppretter ikke automatisk tegnene.

Før du oppdaterer, sjekk hva som beholdes

En fraværende kolonne og en tom celle kan produsere ulike endringer. Shopify dokumenterer at ved overskriving kan et tomt valgfritt felt tømme det eksisterende; å utelate kolonnen kan bevare det. Den advarer også om at en påbegynt import ikke kan avbrytes og anbefaler en sikkerhetskopi før import. Shopifys importbetingelser.

Identiteten til en variant kan også endres: Shopify advarer om at endring av alternativverdier fjerner tidligere identifikatorer og oppretter nye. Se gjennom tilkoblinger som avhenger av dem før du korrigerer et alternativ via CSV. Variantalternativer og identifikatorer.

Forbered en sammenligning mellom tidligere tilstand, forventet endring og observert resultat. Inkluder feltene som skal forbli uendret. Test i et tilgjengelig testmiljø og hold relaterte rader for et produkt sammen; ti påfølgende linjer representerer ikke alltid ti komplette produkter.

I en faktisk operasjon ville du valgt forskjellige tilfeller: enkelt produkt, flere alternativer, aksenttegn, tom pris og oppdatering av en eksisterende referanse. Denne prøven tester forløpet. Deretter bruker du reglene på hele filen: duplikater kan være adskilt av tusenvis av rader. Se integrasjoner for å identifisere verktøyene i flyten din, og bekreft datakravene for hvert verktøy.

Dokumenter en beslutning som andre kan gjennomgå

Før du laster opp, noter filversjon, destinasjon, ansvarlig, anvendte regler, løste hendelser og sammenligning av testen. Hvis en bekreftelse mangler, vent med importen; en melding om «importert» erstatter ikke denne gjennomgangen.

Frihet støtter CSV-import av produkter, innenfor sine administrasjonsfunksjoner. Skjemaet og de manuelle kontrollene i denne artikkelen er uavhengige: de viser ikke hvilke felt Frihet støtter, eller hvilke automatiske kontroller produktet utfører. Bruk malen til importfunksjonen og begynn med å løse radene du fortsatt ikke kan forklare.

Del

Var denne artikkelen nyttig?

Ofte stilte spørsmål

Erstatter disse kontrollene reglene i importverktøyet?

Nei: Skjemaet og de manuelle kontrollene er en selvstendig øvelse. Bruk målsystemets gjeldende mal og kontroller reglene for oppretting, oppdatering og tomme felt.

Garanterer kontroll av ti rader at resten av katalogen er riktig?

Nei. Utvalget brukes til å prøve arbeidsflyten; bruk deretter reglene på hele filen og sammenlign med eksisterende referanser i målsystemet, siden duplikater kan finnes utenfor utvalget.

Frihet — Drift uten drama

Start Gratis