Hoppa till innehåll
← Tillbaka till Journal
Guider
7 min läsning

Validera din CSV-katalog innan du importerar tiotusen rader

Hitta dubbla SKU:er, ofullständiga varianter och fel i priser eller text före import. Tio CSV-rader med resultat som du kan kontrollera själv.

Av Frihet-teamet
Validera din CSV-katalog innan du importerar tiotusen rader

TL;DR: För att validera en katalog-CSV, kontrollera först hur destinationen tolkar den; granska sedan kolumner, identifierare, varianter och värden. Testa ett urval med kända fel och validera hela filen innan du laddar upp den. Att tio rader fungerar bevisar inte att resten är korrekt, eller att en uppdatering bevarar all data.

Innehåll

Att validera en katalog-CSV börjar med att förstå vad som kommer att ändras vid importen. Sedan kommer kolumnerna, identifierarna och värdena. Ett kalkylblad som öppnas utan varningar kan innehålla två produkter med samma SKU eller en storlek utan värde. En accepterad fil kan också uppdatera fel produkt.

Övningen nedan hjälper dig att skilja mellan feltyperna. Det är tio påhittade rader, med kontrollerbara resultat. Det är inte ett exempel från en riktig butik eller en fil förberedd för Shopify eller Frihet: det är ett fristående övningsformat som du måste ersätta med det mottagande systemets format.

Börja med destinationen, inte leverantörens fil

Ladda ner en aktuell mall eller exportera en representativ produkt från verktyget som kommer att ta emot data. Notera om du ska skapa, uppdatera eller kombinera båda operationerna; vad som identifierar en post; vilka fält som krävs; och vad det innebär att lämna en cell tom. Spara denna definition tillsammans med arbetsfilen.

I Shopify, till exempel, baseras överskrivning på URL-identifieraren, kallad handle. Dess dokumentation kräver också att man granskar beroenden mellan variantfält och alternativ. Vår SKU-regel beskriver inte hur den importfunktionen identifierar produkter. Shopify-produktformat.

Om du flyttar data mellan system, skilj denna granskning från kopplingen mellan butik och administration (på engelska). En tillgänglig anslutning bevisar inte att den accepterar din leverantörs kolumner.

Definiera regler som du kan kontrollera

I övningen representerar varje rad en säljbar artikel. product_key grupperar dess varianter; sku måste finnas och vara unikt. name är obligatoriskt. En variant behöver option_name och option_value; Om båda är tomma har inget alternativ angetts. När båda är ifyllda får deras kombination med product_key inte upprepas.

Filen använder UTF-8, kommatecken mellan fält och åtta kolumner i angiven ordning. price tillåter icke-negativa siffror med punkt och två decimaler, utan tusentalsavgränsare. För currency kräver vi EUR för detta test. Dessa är villkor valda för detta test, inte universella regler eller kommersiella priser. Det finns ingen valutaomvandling eller skatteberäkning.

SKU

bevaras som text: 001 omvandlas inte till 1. Microsoft förklarar hur man undviker automatiska konverteringar när man laddar identifierare i Excel. Definiera kolumntypen innan du transformerar data; att ändra dess utseende efteråt återställer inte originalet. Bevara inledande nollor i Excel.

Tio rader, inklusive en som verkar korrekt

Kopiera blocket som text för att undersöka det. Den sista raden har avsiktligt en kolumn mindre. row_id är testets identifierare; R01 finns på den andra raden i filen, eftersom den första innehåller rubrikerna.

Produktnamnen och övriga exempelvärden är samma i alla språkversioner, så att resultaten går att återskapa.

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
RadFörväntat resultatVad som ska undersökas
R01Blockera: Duplicerad SKU och variantJämför med R03 och R08; denna rad godkänns inte heller.
R02Uppfyller övningens reglerBehåll som kontroll; bevisar inte kompatibilitet med destinationen.
R03Blockera: Duplicerad SKU001 identifierar även koppen från R01.
R04Blockera: SKU saknasBegär referensen; hitta inte på den utifrån namnet.
R05Granska textJämför Café med leverantörens original.
R06Blockera: PrisformatKommatecknet för decimaler strider mot den valda regeln.
R07Blockera: Ofullständig variantDet finns Size utan värde.
R08Blockera: Duplicerad variantP01 + Color + Natural visas redan i R01, även om SKU ändras.
R09Blockera: Namn saknasIdentifiera produkten innan du fortsätter.
R10Blockera: Ofullständig strukturDet finns sju fält; kolumnen för valuta förväntades också.

Resultatet är åtta blockerade rader, en under granskning och en som godkänns. Detta är radernas status, inte åtta oberoende fel: R01 har två konflikter. Du kan kontrollera varje resultat genom att jämföra nycklarna mellan rader och fälten med de tidigare reglerna.

En dublett löses inte genom att välja den första raden

R01 verkar komplett när den läses isolerat. Konflikten uppstår när man går igenom hela uppsättningen: den delar SKU med en väska och variantkombination med en annan kopp. Därför måste kontrollen markera alla medlemmar i gruppen, inte godkänna den första och avvisa den sista.

Be den som underhåller katalogen att bekräfta om det finns en felaktig referens, en upprepad produkt eller en felaktigt beskriven variant. Spara beslutet med det tidigare värdet, det nya och dess anledning. Ta inte bort R08 bara för att dess namn matchar; en verklig katalog kan skilja på material, storlek eller andra alternativ som detta förenklade blad inte innehåller.

För din verkliga batch, jämför även med referenser som redan finns i destinationen. En unik SKU inom CSV-filen kan fortfarande matcha en annan produkt utanför filen. Definiera också hur mellanslag och skillnader i versaler/gemener ska hanteras innan normalisering: att rensa en identifierare kan förena referenser som borde ha förblivit separerade.

Separera format, text och betydelse

R06 innehåller "12,50": citattecknen håller priset i en enda cell. Att räkna kommatecken för hand skulle ge en felaktig diagnos; använd en CSV-läsare. RFC 4180 beskriver denna konvention med citattecken, men definierar inte vilka kolumner en katalog behöver eller hur ett pris ska tolkas. Syntaxen för R06 är giltig; värdet uppfyller inte vår regel för fältet.

Gör ingen global ersättning av kommatecken med punkter: du skulle ändra både avgränsare och innehåll. Identifiera först fältet, bekräfta källformatet och konvertera dess värde på ett kontrollerat sätt. En tom sträng är inte heller likvärdig med noll; att registrera pris noll skulle vara ett kommersiellt beslut som ingen har bekräftat.

R05 kräver en ytterligare kontroll. Texten Café är sparad med giltiga UTF-8-byte; det bevisar inte att namnet är korrekt. Varningen i denna övning är förberedd för just det värdet, det är ingen universell kodningsdetektor. Jämför namnet med källan och granska i vilket steg det förvrängdes. Att spara redan skadad text som UTF-8 igen återställer inte automatiskt dess tecken.

Innan du uppdaterar, kontrollera vad som bevaras

En saknad kolumn och en tom cell kan ge olika förändringar. Shopify dokumenterar att vid överskrivning kan ett tomt valfritt fält tömma det befintliga; att utelämna kolumnen kan bevara det. De varnar också för att en påbörjad import inte kan avbrytas och rekommenderar en säkerhetskopia före importen. Shopifys importvillkor.

Identiteten för en variant kan också ändras: Shopify varnar för att modifiering av alternativvärden tar bort deras tidigare identifierare och skapar nya. Granska kopplingar som är beroende av dem innan du korrigerar ett alternativ via CSV. Variantalternativ och identifierare.

Förbered en jämförelse mellan tidigare tillstånd, förväntad ändring och observerat resultat. Inkludera de fält som ska förbli oförändrade. Testa i en tillgänglig testmiljö och behåll relaterade rader för en produkt tillsammans; tio påföljande rader representerar inte alltid tio kompletta produkter.

I en verklig operation skulle du välja olika fall: enkel produkt, flera alternativ, accenterade tecken, tomt pris och uppdatering av en befintlig referens. Det urvalet testar flödet. Tillämpa sedan reglerna på hela filen: dubbletter kan vara åtskilda av tusentals rader. Konsultera integrationer för att identifiera verktygen i ditt flöde, och kontrollera varje verktygs krav på data.

Lämna ett beslut som någon annan kan granska

Innan du laddar upp, notera filens version, destination, ansvarig, tillämpade regler, lösta problem och testjämförelse. Om en bekräftelse saknas, behåll batchen väntande; ett meddelande om “importerat” ersätter inte den granskningen.

Frihet stöder CSV-import av produkter, inom sina hanteringsfunktioner. Schemat och de manuella kontrollerna i denna artikel är oberoende: de visar inte vilka fält Frihet stöder eller vilka automatiska kontroller produkten utför. Använd mallen för din importfunktion och börja med att lösa de rader du fortfarande inte kan förklara.

Dela

Var den här artikeln till hjälp?

Vanliga frågor

Ersätter dessa kontroller importverktygets regler?

Nej: Schemat och de manuella kontrollerna är en fristående övning. Använd målsystemets aktuella mall och kontrollera reglerna för att skapa, uppdatera och hantera tomma fält.

Garanterar kontroll av tio rader att resten av katalogen är korrekt?

Nej. Urvalet används för att pröva arbetsflödet; tillämpa sedan reglerna på hela filen och jämför med befintliga referenser i målsystemet, eftersom dubbletter kan finnas utanför urvalet.

Frihet — Företagande utan drama

Börja Gratis