Przejdź do treści
← Powrót do Journal
Przewodniki
6 min czytania

Sprawdź katalog CSV przed importem dziesięciu tysięcy wierszy

Sprawdź dziesięć wierszy katalogu CSV: zduplikowane SKU, niekompletne warianty, błędne ceny i uszkodzony tekst przed importem.

Przez Zespół Frihet
Sprawdź katalog CSV przed importem dziesięciu tysięcy wierszy

TL;DR: Aby zweryfikować katalog CSV, najpierw sprawdź, jak interpretuje go miejsce docelowe; następnie przejrzyj kolumny, identyfikatory, warianty i wartości. Przetestuj próbkę ze znanymi błędami i zweryfikuj cały plik przed jego załadowaniem. Poprawny wynik dla dziesięciu wierszy nie dowodzi, że pozostałe są poprawne ani że aktualizacja zachowa wszystkie dane.

Spis treści

Walidacja katalogu CSV zaczyna się od zrozumienia, co zmieni się po jego zaimportowaniu. Następnie przechodzi się do kolumn, identyfikatorów i wartości. Arkusz, który otwiera się bez ostrzeżeń, może zawierać dwa produkty z tym samym SKU lub rozmiar bez wartości. Zaakceptowany plik może również zaktualizować niewłaściwy produkt.

Poniższy test służy do nauki rozróżniania tych usterek. To dziesięć wymyślonych wierszy z weryfikowalnymi wynikami. Nie jest to próbka z prawdziwego sklepu ani plik przygotowany dla Shopify czy Frihet: jest to własny schemat dydaktyczny, który będziesz musiał zastąpić schematem docelowym.

Zacznij od miejsca docelowego, a nie od pliku dostawcy

Pobierz aktualny szablon lub wyeksportuj reprezentatywny produkt z narzędzia, które będzie odbierać dane. Zapisz, czy zamierzasz tworzyć, aktualizować, czy łączyć obie operacje; co identyfikuje rekord; jakie pola są wymagane; i co oznacza pozostawienie pustej komórki. Zachowaj tę definicję wraz z plikiem roboczym.

Na przykład w Shopify nadpisywanie opiera się na identyfikatorze URL, zwanym handle. Ich dokumentacja wymaga również sprawdzenia zależności między polami wariantów i opcji. Nasza reguła SKU nie opisuje, w jaki sposób ten importer identyfikuje produkty. Format produktów Shopify.

Jeśli przenosisz dane między systemami, oddziel ten przegląd od połączenia sklepu z systemem zarządzania (po angielsku). Dostępny konektor nie dowodzi, że akceptuje kolumny twojego dostawcy.

Zdefiniuj reguły, które możesz sprawdzić

W ćwiczeniu każdy wiersz reprezentuje pozycję przeznaczoną do sprzedaży. product_key grupuje jego warianty; sku musi być obecny i unikalny. name jest obowiązkowe. Wariant wymaga option_name i option_value; oba puste oznaczają, że nie deklarujemy opcji. Jeśli są kompletne, ich kombinacja z product_key nie może się powtarzać.

Plik używa UTF-8, przecinków między polami i ośmiu kolumn w pokazanej kolejności. price akceptuje liczby nieujemne z kropką i dwoma miejscami po przecinku, bez separatora tysięcy. W currency wymagamy EUR dla tego testu. Są to warunki wybrane dla tego testu, a nie uniwersalne zasady ani ceny handlowe. Nie ma konwersji walut ani obliczeń podatkowych.

SKU są zachowywane jako tekst: 001 nie zmienia się w 1. Microsoft wyjaśnia, jak uniknąć automatycznych konwersji podczas ładowania identyfikatorów do Excela. Zdefiniuj typ kolumny przed przekształceniem danych; zmiana ich wyglądu później nie odbudowuje oryginału. Zachowywanie zer wiodących w Excelu.

Dziesięć wierszy, w tym jeden, który wydaje się poprawny

Skopiuj blok jako tekst, aby go zbadać. Ostatni wiersz celowo ma o jedną kolumnę mniej. row_id to identyfikator testu; R01 znajduje się w drugim wierszu pliku, ponieważ pierwszy zawiera nagłówki.

Hiszpańskie nazwy produktów są stałymi wartościami przykładu we wszystkich wersjach językowych, aby wyniki można było odtworzyć.

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
WierszOczekiwany wynikCo zbadać
R01Zablokuj: zduplikowane SKU i wariantPorównaj z R03 i R08; ten wiersz również nie zostaje zatwierdzony.
R02Przechodzi reguły ćwiczeniaZachowaj jako kontrolę; nie dowodzi kompatybilności z miejscem docelowym.
R03Zablokuj: zduplikowane SKU001 identyfikuje również kubek z R01.
R04Zablokuj: brak SKUPoproś o kod produktu; nie wymyślaj go na podstawie nazwy.
R05Sprawdź tekstPorównaj Café z oryginałem od dostawcy.
R06Zablokuj: format cenyPrzecinek dziesiętny jest sprzeczny z wybraną regułą.
R07Zablokuj: niekompletny wariantJest Size bez wartości.
R08Zablokuj: zduplikowany wariantP01 + Color + Natural już występuje w R01, mimo zmiany SKU.
R09Zablokuj: brak nazwyZidentyfikuj produkt przed kontynuowaniem.
R10Zablokuj: niekompletna strukturaJest siedem pól; oczekiwano również kolumny waluty.

Wynikiem jest osiem wierszy zablokowanych, jeden oczekujący na przegląd i jeden, który przechodzi. Są to stany wierszy, a nie osiem niezależnych błędów: R01 ma dwa konflikty. Możesz sprawdzić każdy wynik, porównując klucze między wierszami i pola z poprzednimi regułami.

Duplikatów nie rozwiązuje się poprzez wybranie pierwszego wiersza

R01 wydaje się kompletny, gdy jest czytany samodzielnie. Konflikt pojawia się podczas przeglądania całego zbioru: współdzieli SKU z torbą i kombinację wariantów z innym kubkiem. Dlatego sprawdzenie powinno oznaczać wszystkich członków grupy, a nie zatwierdzać pierwszego i odrzucać ostatniego.

Poproś osobę zarządzającą katalogiem o potwierdzenie, czy problemem jest błędny kod produktu, powielony produkt czy niepoprawnie opisany wariant. Zachowaj decyzję wraz z poprzednią wartością, nową wartością i jej przyczyną. Nie usuwaj R08 tylko dlatego, że jego nazwa się zgadza; prawdziwy katalog może rozróżniać materiał, rozmiar lub inne opcje, których ten uproszczony arkusz nie zawiera.

Dla swojej rzeczywistej partii porównaj również z kodami produktów, które już istnieją w systemie docelowym. Unikalne SKU w pliku CSV nadal może pokrywać się z innym produktem poza plikiem. Zdefiniuj również, jak traktować spacje i różnice w wielkości liter przed normalizacją: czyszczenie identyfikatora może połączyć kody produktów, które powinny pozostać oddzielne.

Oddziel format, tekst i znaczenie

R06 zawiera "12,50": cudzysłowy utrzymują cenę w jednej komórce. Ręczne liczenie przecinków dałoby nieprawidłową diagnozę; użyj czytnika CSV. RFC 4180 opisuje tę konwencję cudzysłowów, ale nie definiuje, jakie kolumny potrzebuje katalog ani jak interpretować cenę. Składnia CSV w R06 jest prawidłowa, ale wartość nie spełnia przyjętej reguły dla tego pola.

Nie wykonuj globalnej zamiany przecinków na kropki: zmieniłbyś zarówno separatory, jak i zawartość. Najpierw zidentyfikuj pole, potwierdź format źródłowy i przekształć jego wartość w kontrolowany sposób. Pusta wartość również nie jest równa zeru; zapisanie zerowej ceny byłoby decyzją handlową, której nikt nie potwierdził.

R05 wymaga dodatkowego sprawdzenia. Tekst Café jest zapisany z prawidłowymi bajtami UTF-8; to nie dowodzi, że nazwa jest poprawna. Ostrzeżenie w tym ćwiczeniu jest przygotowane dla tej konkretnej wartości, nie jest uniwersalnym detektorem kodowania. Porównaj nazwę ze źródłem i sprawdź, w którym kroku została zniekształcona. Ponowne zapisanie już uszkodzonego tekstu jako UTF-8 nie przywraca automatycznie jego znaków.

Przed aktualizacją sprawdź, co zostanie zachowane

Brakująca kolumna i pusta komórka mogą powodować różne zmiany. Shopify dokumentuje, że podczas nadpisywania puste pole opcjonalne może opróżnić istniejące; pominięcie kolumny może je zachować. Ostrzega również, że rozpoczętego importu nie można anulować i zaleca wykonanie kopii zapasowej. Warunki importu Shopify.

Tożsamość wariantu również może się zmienić: Shopify ostrzega, że modyfikacja wartości opcji usuwa ich poprzednie identyfikatory i tworzy nowe. Przed poprawieniem opcji za pomocą pliku CSV sprawdź połączenia, które od nich zależą. Opcje i identyfikatory wariantów.

Przygotuj porównanie między poprzednim stanem, przewidywaną zmianą a obserwowanym wynikiem. Uwzględnij pola, które powinny pozostać niezmienione. Przetestuj w dostępnym środowisku testowym i zachowaj razem powiązane wiersze produktu; dziesięć kolejnych linii nie zawsze reprezentuje dziesięć kompletnych produktów.

W prawdziwej operacji wybrałbyś różne przypadki: prosty produkt, wiele opcji, znaki akcentowane, pusta cena i aktualizacja istniejącego kodu produktu. Ta próbka testuje cały proces. Następnie zastosuj reguły do całego pliku: duplikaty mogą być oddzielone tysiącami wierszy. Sprawdź integracje, aby zidentyfikować narzędzia w swoim przepływie pracy i sprawdź wymagania dotyczące danych w każdym z nich.

Pozostaw decyzję do weryfikacji przez inną osobę

Przed załadowaniem zapisz wersję pliku, miejsce docelowe, osobę odpowiedzialną, zastosowane reguły, rozwiązane problemy i porównanie testu. Jeśli brakuje potwierdzenia, zachowaj partię jako oczekującą; wiadomość o «zaimportowaniu» nie zastępuje tej weryfikacji.

Frihet obsługuje import produktów CSV w ramach swoich funkcji zarządzania. Schemat i ręczne kontrole opisane w tym artykule są niezależne: nie potwierdzają, jakie pola obsługuje Frihet ani jakie kontrole wykonuje automatycznie. Użyj szablonu swojego importera i zacznij od rozwiązania wierszy, których jeszcze nie możesz wyjaśnić.

Udostępnij

Czy ten artykuł był pomocny?

Często zadawane pytania

Czy te kontrole zastępują zasady narzędzia importu?

Nie: schemat i ręczne kontrole stanowią niezależne ćwiczenie. Użyj aktualnego szablonu systemu docelowego i sprawdź jego zasady tworzenia, aktualizacji oraz obsługi pustych pól.

Czy sprawdzenie dziesięciu wierszy gwarantuje poprawność reszty katalogu?

Nie. Próbka służy do przetestowania procesu; potem zastosuj reguły do całego pliku i porównaj go z istniejącymi identyfikatorami w systemie docelowym, ponieważ duplikaty mogą występować poza próbką.

Frihet — Zarządzanie bez dramatu

Zacznij Za Darmo