Tworzymy profesjonalne oprogramowanie sklepów internetowych

Nowoczesna platforma do prowadzenia sklepu internetowego. Bezpłatne aktualizacje, wsparcie techniczne. Liczne integracje i prosta obsługi. Idealne oprogramowanie do pozycjonowania. Uruchom własny sklep internetowy
Tutaj jesteś: Strona główna » Import/eksport danych z pliku CSV

Import/eksport danych z pliku CSV

Data dodania: 24-01-2011

Dane do sklepu oscGold można importować lub eksportować za pomocą plików CSV. Są to pliki które posiadają strukturę podobną do arkusza kalkulacyjnego. Plik CSV zawiera odpowiednio zapisane kolumny, które zawierają dane. Każdy wiersz w pliku to kolejny wiersz arkusza kalkulacyjnego, a poszczególne kolumny w wierszu są oddzielone przecinkiem. Plik CSV jest to zwykły plik tekstowy, który można edytować przy pomocy edytorów tekstowych np. Notepad++.
Ważną kwestią jest kodowanie polskich znaków w pliku. oscGold zapisuje pliki CSV w formacie UTF-8.

Eksport danych do pliku CSV.

Eksport danych ze sklepu internetowego do CSV

W części górnej znajdują są opcje, które umożliwiają przygotowanie indywidalnego szablonu pliku CSV. Zaznaczając odpowiednie pola (checkbox) można wygenerować plik z wybranymi polami z bazy danych produktów. Jeżeli chcielibyśmy, aby plik wynikowy zawierał tylko nazwę produktu oraz cenę należy zaznaczyć opcję nazwa oraz cena. Po kliknięciu na przycisk wygeneruj plik zostanie utworzony plik CSV, który będzie można zapisać na dysku komputera lokalnego lub bezpośrednio otworzyć. Dodatkowo oprócz zaznaczenia pól, które mają zostać wygenerowane można zastosować filtr. Filtr umożliwia ograniczenie wynikowych danych do interesujących nas kategorii lub tylko określonego producenta. Dodatkowo można wybrać opcję eksportu produktów aktywnych lub nieaktywnych.

W części dolnej znajdują się szybkie linki. Szybkie linki to gotowe szablony plików CSV które generując pliki CSV z konkretnymi danymi. Szybkie linki umożliwiają utworzenie pliku i zapisanie do na dysku lokalnym komputerza (pobranie wygenerowanego pliku) lub zapis wygenerowanego pliku na serwerze. Jeżeli zostanie wybrana opcja zapisu pliku na serwerze to po utworzeniu zostanie on zapisany w katalogu /tmp w katalogu sklepu. W swojej nazwie taki plik będzie zawierał datę utworzenia.
Wygenerowany plik CSV

Wygenerowany plik otworzony w edytorze tekstowym jest bardzo nieczytelny. W części górnej (w pierwszym rzędzie) znajdują się nazwy kolumn, które odpowiadają nazwom poszczególnych pól w bazie danych sklepu. Poniżej znajdują się wyeksportowane dane. Każda kolumna jest oddzielona przecinkiem. Ponieważ nazwy (dane) w poszczególnych kolumnach mają różne długości dlatego edycja takich danych poprzez plik tekstowy jest bardzo trudna i plik przez to jest bardzo nieczytelny. Dlatego, aby można było w łatwy sposób edytować dane, które poźniej można zaimportować do sklepu należy skorzystać z arkusza kalkulacyjnego np. Excel lub Calc - OpenOffice (zalecamy).

Aby otworzyć plik w programie Calc należy wybrać z menu Plik opcje Otwórz. Następnie należy wybrać zapisany na dysku plik CSV. Po wybraniu pliku otworzy się okno w którym należy wybrać parametry pliku.

Plik CSV w OpenOffice
 
Jako zestaw znaków do importu należy ustawić Unicode UTF-8. W opcjach separatora należy zaznaczyć jako rozdzielony przecinek, a jako separator tekstu znak cudzysłowu ". Na dole w oknie widać jak będzie wyglądał zaimportowany plik i układ kolumn. Należy zwrócić uwagę na poprawne oznaczenie typów kolumn. Kolumny zawierajace tekst oznaczamy jako tekstowe, liczby jako liczbowe itd. W Przeciwnym wypadku arkusz kalkulacyjny może nam automatycznie pozamieniać niektóre wpisy na formuly ( np. zapis daty w formacie 04/03/2009 może przkształcić na wynik działania ).
Po zaimportowaniu pliku wszystkie dane ukazują sie jako kolumny, a każda kolumna zawiera dane. Pierwszy wiersz zawiera nazwy kolumn które odpowiadają nazwom pól w bazie. Tego wiersza nie wolno kasować jeżeli dane po obróbce mają zostać zaimportowane do sklepu.

Plik CSV w OpenOffice

Bardzo ważną rzeczą w przypadku ponownego importu danych do sklepu jest struktura danych. Sklep rozpoznaje nowe produkty oraz aktualizuje istniejące po numerze katalogowym (kolumna v_products_model). Dlatego jeżeli dane będą po modyfikacjach ponownie wprowadzane do sklepu, kolumna z modelem / numerem katalogym musi znaleźć się w pliku CSV. Dodatkowo każdy numer katalogowy musi być unikalny - czyli nie mogą się powtarzać te same numery w różnych produktach. Numer katalogowy nie musi być w postaci cyfr czy liczb. Może to być dowolny ciąg znaków np połączenie cyfr i liter - ważne jedynie jest aby każdy numer był unikalny.

Opis poszczególnych kolumn i nazw:

v_products_model numer katalogowy lub numer produktu (musi być unikalny)
v_products_name_1 nazwa produktu w języku o ID = 1 (domyślnie język polski)
v_products_description_1 opis produktu w języku o ID = 1
v_products_url_1 adres URL do produktu (link zewnętrzny)
v_products_head_title_tag_1 nazwa produktu do SEO
v_products_head_desc_tag_1 opis produktu do SEO
v_products_head_keywords_tag_1 słowa kluczowe dotyczące produktu do SEO

Następnie znajdują sie pola o identycznych nazwach lecz z innymi oznaczeniami cyfrowymi gdzie zamiast 1 występuje 2,3,4 lub więcej. Poszczególne pola mają identyczne znaczenie jak w/w opisane lecz dotyczą innych języków. Jeżeli w sklepie nie ma innych języków oprócz polskiego nię będzie w pliku CSV opisanych pól. Standardowo w sklepie jako _2 - oznaczony jest język angielski, _3 - to język niemiecki, _4 - to język rosyjski. Uzupełniając te pola można wstawić opisy czy nazwy produktów w innych wersjach językowych.
 
v_products_image ścieżka do zdjęcia produktu
v_products_price cena produktu (brutto)
UWAGA : cena musi byc zapisana w formacie XXX.XX - znakiem oddzielającym miejsca dziesiętne musi być kropka
v_products_retail_price cena katalogowa produktu (brutto)
UWAGA : cena musi być zapisana w formacie XXX.XX - znakiem oddzielającym miejsca dziesiętne musi byc kropka
v_products_quantity ilość produktów na stanie
v_products_weight waga produktu w kg
UWAGA : waga musi być zapisana w formacie XXX.XX - znakiem oddzielającym miejsca dziesiętne musi byc kropka
v_date_avail data dostępności
v_categories_image_1 ścieżka do zdjęcia głównej kategorii
v_categories_name_1_1 nazwa głównej kategorii w języku o ID = 1 (domyślnie język polski)

Następnie znajdują sie pola o identycznych nazwach lecz z innymi oznaczeniami cyfrowymi gdzie zamiast 1 występuje 2,3,4 lub więcej, np v_categories_name_1_2, v_categories_name_1_3, v_categories_name_1_4. Poszczególne pola mają identyczne znaczenie jak w/w opisane lecz dotyczą innych języków. Jeżeli w sklepie nie ma innych języków oprócz polskiego nię będzie w pliku CSV opisanych pól. Standardowo w sklepie jako _2 - oznaczony jest język angielski, _3 - to język niemiecki, _4 - to język rosyjski. Uzupełniając te pola można wstawić opisy czy nazwy produktów w innych wersjach językowych.
 
v_categories_image_2 ścieżka do zdjęcia podkategorii
v_categories_name_2_1 nazwa podkategorii w języku o ID = 1 (domyślnie język polski)
v_manufacturers_name nazwa producenta
v_attribute_options_id_1 ID cechy produktu
v_attribute_options_name_1_1 nazwa cechy w języku o ID = 1 (domyślnie język polski)

Następnie znajdują sie pola o identycznych nazwach lecz z innymi oznaczeniami cyfrowymi gdzie zamiast 1 występuje 2,3,4 lub więcej, np v_attribute_options_name_1_2, v_attribute_options_name_1_3, v_attribute_options_name_1_4. Poszczególne pola mają identyczne znaczenie jak w/w opisane lecz dotyczą innych języków. Jeżeli w sklepie nie ma innych języków oprócz polskiego nię będzie w pliku CSV opisanych pól. Standardowo w sklepie jako _2 - oznaczony jest język angielski, _3 - to język niemiecki, _4 - to język rosyjski. Uzupełniając te pola można wstawić opisy czy nazwy produktów w innych wersjach językowych.
 
v_attribute_values_id_1_1 wartość cechy produktu
v_attribute_values_price_1_1 wartość kwota cechy
v_attribute_sort_order_1_1 numer do sortowania cechy
v_attribute_values_stock_1_1 ilość atrybutów

Następnie znajdują sie pola o identycznych nazwach lecz z innymi oznaczeniami cyfrowymi gdzie zamiast 1 występuje 2,3,4 lub więcej, Są to kolejne cechy produktu oraz przypisane do niej wartości i nazwy, np: v_attribute_values_id_1_2, v_attribute_values_name_1_2_1, v_attribute_values_price_1_2 itd.
 
v_tax_class_title stawka podatku VAT - VAT_22, VAT_7 lub VAT_0
v_status określa czy produkt jest aktywny czy nie. Opcja Active - aktywny, Inactive - nieaktywny.
EOREOR zmienna kontrolna. Musi być w każdym pliku.

Powyżej został opisany kompletny plik CSV. Jednakże w większości przypadków do aktualizacji danych w sklepie nie są niezbędne wszystkie pola. Praca na tak dużym pliku jest utrudniona i niewygodna. Dlatego aby dokonać ponowego importu danych do sklepu plik nie musi składać się ze wszystkich w/w kolumn. Np żeby dokonać aktualizacji cen w sklepie wystarczą 2 kolumny - v_products_model oraz v_products_price. Jeżeli dodatkowo chcemy zaktualizować stan magaznowy należy dodać kolumnę v_products_quantity. Przy imporcie sklep zaktualizuje tylko te pola w bazie które będą zgodne z plikiem, a pola których nie ma w pliku pozostaną w bazie w stanie niezmieniomym czyli np opis czy nazwa produktu.
 
Zapis pliku CSV w OpenOffice
 
Zmodyfikowany plik w Calc należy ponownie zapisać w formacie CSV. W tym celu wybrać opcję Zapisz jako w menu Plik. Podczas zapisu należy wybrać odpowiednie opcje eksportu pliku. Jako zestaw znaków należy ustawić Unicode UTF-8. W opcjach separatora pola należy zaznaczyć tabulator { Tab }, a jako separator tekstu znak cudzysłowu ".

Import danych do sklepu z pliku CSV.
Przed importem danych należy utworzyć kopię bazy w menu Narzędzia / Archiwizacja bazy danych !!
 
Import danych do sklepu poprzez plik CSV może odbyć się na 3 różne sposoby. Pierwsza opcja to wgranie i wczytanie pliku. Opcja ta umożliwia wybranie pliku CSV zapisanego na dysku komputera lokalnego. Plik taki jest pobierany z komputera i przetwarzany przez sklep. Dodatkowo można określić czy importowane mają być wszystkie produkty z pliku czy ma być tylko dodawanie nowych produktów (istniejące są wtedy pomijane) lub czy produkty mają być tylko zaktualizowane (pomijane są nowe produktu - o niestniejącym nr kat.). Import danych do sklepu z pliku CSV
Druga opcja to wgranie i podzielenie pliku. Ta opcja jest potrzebna w przypadku dużych plików CSV. Ponieważ wielkość importowanego pojedynczego pliku nie może być większa 60 kb dlatego większe pliki CSV należy podzielić. Wykorzystując tą opcję można zaimportować plik większy niż 60 kb a sklep automatycznie dokona jego podziału na mniejsze pliki. Ostatnia opcja to wczytanie pliku z katalogu tymczasowego. Opcja ta umożliwia import pliku CSV który znajduje się na serwerze w katalogu /tmp. Przy tej opcji również można wybrać czy mają być importowane wszystkie produktu, tylko nowe lub tylko aktualizacja produktów.
 
Wynik importu danych do sklepu internetowego z pliku CSV Po wybraniu odpowiedniej formy można wykonać import danych. Po imporcie danych zostaną wyświetlone zaimportowane dane wraz z informacją który produkt został zaktualizowany a który jest nowym produktem w bazie. Produkty zaktualizowane mają napis zmieniony, a produkty nowe napis w kolorze zielonym New product!.

Jeżeli wszystkie produkty posiadają jeden z w/w komunikatów to oznacza to że wszystkie produkty zostały poprawnie zaimportowane.

Podczas importu mogą jednak pojawić się problemy. Najczęstszym problemem jest brak pola z numerem katalogowym. Produkty bez numeru katalogowego nie zostaną zaimportowane a przy produkcie pojawi sie komunikat - No products_model field in record. This line was not imported, który informuje, że produkt nie został zaimportowany. Problem będzie także w przypadku nowych produktów jeżeli w pliku CSV nie będzie tabel z nazwami kategorii. Przy dodawaniu nowych produktów niezbędne są kolumny z kategoriami, ponieważ sklep musi przypisać produkt do odpowiednich kategorii. Jeżeli nie będzie takich kolumn to produkt do sklepu zostanie dodany, lecz nie będzie widoczny w żadnej kategorii. Dlatego przy aktualizacji produktów plik CSV może składać się z dowolnych kolumn + kolumna z numerem katalogowym. Jednak w przypadku importu nowych produktów zalecemy korzystanie ze struktury pliku calosc.csv.

Niniejszy artykuł został napisany przez właściciela witryny www.oscgold.com. (Jacek Krysiak Studio Komputerowe Kamelia-Net) Kopiowanie całości oraz fragmentów bez zgody autora jest zabronione. Artykuł jest chroniony polskim prawem autorskim.

Dalej

oprogramowanie e-commerce | tworzenie sklepów internetowych | program do sklepu internetowego | oprogramowanie sklepu internetowego | sklep internetowy | sklepy internetowe

Informacje zawarte na tej stronie stanowią własność intelektualną firmy Kamelia-Net. Dotyczy to zarówno tekstów jak i grafik sklepu. Wszelkie próby kopiowania zdjęć oraz tekstów z niniejszego serwisu bez zgody firmy Kamelia-Net są zabronione i będą traktowane jako łamanie prawa.
Oprogramowanie sklepu internetowego