Porównuj eksporty CSV według identyfikatora, nie myląc sortowania ze zmianą
Porównaj dwa eksporty CSV według klucza złożonego na przykładzie fikcyjnego stanu magazynowego. Odtwórz dokładne różnice w wierszach i komórkach, zdiagnozuj powtarzające się klucze i zapisz raport lokalnie.
Krótka odpowiedź
Zanim porównasz wartości rekordów, dopasuj je według stałego identyfikatora. W narzędziu Porównywanie CSV według klucza przeniesienie wiersza w inne miejsce nie jest edycją. Zmiana ilości już nią jest. Klucz obecny tylko w drugim eksporcie oznacza dodanie, a klucz obecny tylko w pierwszym oznacza usunięcie.
Najpierw określ pytanie, potem wybierz narzędzie
Załóżmy, że dwa eksporty stanu magazynowego posortowano inaczej. Porównanie samych wierszy może sprawić, że niezmieniony stan będzie wyglądał na różny. Porównanie według klucza odpowiada na pytanie: które komórki zmieniły się dla tego samego produktu w tym samym magazynie? Nie ustala przyczyny zmian, tego, czy nastąpiła sprzedaż, ani tego, który eksport jest wiążący. Przed wyciągnięciem wniosków samodzielnie potwierdź daty i zakres eksportów.
Mały, całkowicie fikcyjny stan magazynowy
Poniższe identyfikatory są tekstem. Zachowaj 001 dokładnie w podanej postaci. Angielskie nazwy nagłówków i fikcyjne nazwy magazynów pozostawiono celowo, aby każda wersja językowa przykładu dawała ten sam raport.
Przed
sku,warehouse,quantity,note
001,North,10,"Blue, small"
002,North,5,Keep
003,South,2,RetirePo
sku,warehouse,quantity,note
002,North,5,Keep
001,North,12,"Blue, small"
004,South,3,New
Odtwórz wynik
- Otwórz porównywarkę. Przycisk fikcyjnego przykładu zastępuje oba bieżące zestawy danych i uruchamia ten przykład. Aby zrobić to ręcznie, wklej oba bloki w pola Przed i Po.
- Dla obu wybierz przecinek jako separator. Przecinek wewnątrz
"Blue, small"należy do notatki, a nie do nowej kolumny. - Odczytaj kolumny, a następnie wybierz
skuiwarehousejako kolumny identyfikujące. - Porównaj wiersze i otwórz szczegóły zmienionego wiersza.
Dokładne wartości łączne to 1 dodany, 1 usunięty, 1 zmieniony, 1 bez zmian oraz 1 zmieniona komórka. Oba zestawy wejściowe mają po trzy wiersze danych.
["004","South"]zostaje dodany z ilością"3".["003","South"]zostaje usunięty; poprzednia ilość wynosiła"2".["001","North"]zmienia się tylko wquantity, z"10"na"12".["002","North"]pozostaje bez zmian mimo przesunięcia o wiersz w górę.
Dlaczego warto używać klucza złożonego?
W tej niewielkiej próbce sku samo w sobie również jest tutaj unikalne. W rzeczywistych eksportach ten sam SKU może występować w kilku magazynach. Dodaj wiersz 001,South,7,Other na końcu obu próbek: wybranie tylko sku powoduje teraz błąd powtórzonego klucza. Wybranie sku oraz warehouse działa i daje dwa niezmienione wiersze zamiast jednego. Pozostałe sumy są takie same. Klucz złożony jest krotką, a nie sklejoną etykietą, więc znaki przypominające separatory wewnątrz jego części nie powodują fałszywych dopasowań.
Ostrożnie interpretuj dokładne ciągi znaków
Narzędzie nie usuwa spacji na krańcach, nie ujednolica wielkości liter, nie rozpoznaje dat ani nie konwertuje liczb. 001 różni się od 1; 10 różni się od 10.0. Pusty tekst różni się od spacji. Każda część klucza musi zawierać coś poza białymi znakami, a każdy pełny klucz musi być unikalny w swoim eksporcie. Zmiana klucza jest zgłaszana jako usunięcie i dodanie, ponieważ narzędzie nie ma innego potwierdzenia tożsamości rekordu.
Oba pliki muszą mieć dokładnie takie same, niepuste i niepowtarzające się nazwy nagłówków. Kolejność kolumn może być inna; dodanie kolumn lub zmiana ich nazw przerywa porównanie. Brakujące pola, puste rekordy i nieprawidłowe cudzysłowy są odrzucane. Końcowy znak nowego wiersza jest dozwolony. Cudzysłowy wewnątrz pola ujętego w cudzysłów muszą być podwojone; znaki końca wiersza w takim polu pozostają częścią komórki.
Zadbaj o przydatność i prywatność raportu
Podgląd pokazuje maksymalnie 100 różniących się wierszy i 500 komórek, skracając długie wartości. Pliki JSON i tekstowe do pobrania zawierają wszystkie różnice w zaakceptowanych danych. Wartości są zapisywane w cudzysłowach zgodnie ze składnią JSON, dzięki czemu można odróżnić puste ciągi, tabulatory i podziały wiersza. Rekord 1 to nagłówek; znak nowego wiersza w polu ujętym w cudzysłowy nie zwiększa numeru rekordu. Nazwy pól raportu pozostają stałymi etykietami angielskimi, nawet gdy interfejs jest przetłumaczony.
Wybierz pliki UTF-8 o rozmiarze najwyżej 2 000 000 bajtów każdy lub wklej do 2 000 000 jednostek kodowych UTF-16 w każdym polu wejściowym. Każde wejście ma też limit 20 000 wierszy danych, 200 kolumn i 250 000 komórek wraz z nagłówkiem. Nie ma wykrywania kodowania, dopasowywania przybliżonego ani automatycznego łączenia schematów. Po osiągnięciu limitu użyj mniejszego eksportu o spójnym zakresie.
Porównywarka przechowuje dane wejściowe w pamięci strony, nie wysyła żądań sieciowych i nie zapisuje niczego w pamięci przeglądarki. Sama witryna nadal pobiera kod i zasoby; za zgodą mogą działać opcjonalne statystyki witryny. Wyczyść usuwa bieżące dane i wyniki oraz anuluje oczekujący odczyt. Nie usuwa plików źródłowych ani pobranych raportów, które mogą zawierać prywatne wartości. Raport CSV nie jest tworzony; nie wklejaj później niezaufanych wartości do arkusza kalkulacyjnego bez oceny ryzyka związanego z formułami.
Przejdź do odpowiedniego widoku
Użyj narzędzia Przeglądarka CSV w celu sprawdzenia jednego eksportu. Użyj narzędzia Porównywanie tekstu i JSON, gdy chodzi o kolejność wierszy lub strukturę JSON. Otwórz narzędzie Porównywanie CSV według klucza, gdy ważna jest stała tożsamość rekordów.