Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

edytowanie i konwertowanie plików csv

bikemax 09 Lut 2018 15:05 681 14
  • #1 09 Lut 2018 15:05
    bikemax
    Poziom 13  

    Witam

    Chciałem zapytać Was o edytowanie i przetwarzanie plików CSV. Wiem czym to otworzyć i co to jest, natomiast potrzebuje stworzyć narzędzie które będzie taką bazę konwertować i przetwarzać. O ile baza byłaby mała można to robić poprzez arkusz kalkulacyjny w exel, natomiast baza która ma być przetwarzana ma kilkaset tysięcy wierszy... Musiałoby to być automatyczne gdyż jest to baza produktów która będzie aktualizowana codziennie od kilku dostawców a więc mam kilka baz to przekonwertowania. W kwestii konwersji musza być takie funkcje jak:
    -przeliczanie cen według algorytmu i tworzenie nowych cen na innych kolumnach (kilka poziomów cen wyliczanych z jednej komórki)
    -przestawianie kolumn
    -zamiana wyrażeń tekstu
    -łączenie kolumn
    -kopiowanie kolumn

    Podpowie ktoś jak to mądrze zrobić?

    0 14
  • #2 09 Lut 2018 15:54
    gaskoin
    Poziom 38  

    A co Cie powstrzymuje od postawienia "normalnej" bazy danych? Np jakiegoś MySQLa

    1
  • #3 12 Lut 2018 08:56
    bikemax
    Poziom 13  

    Szukam możliwie najprostszego rozwiązania, stworzenia klucza według którego za każdym razem kiedy wyjdzie aktualizacja bazy (codziennie) można było przetworzyć importowane pliki csv. Problemem jest też wielkość tych plików, mają po kilkaset tysięcy wierszy, a z racji na codzienną aktualizację nie może to trwać godzinami.

    W jaki sposób można to zrobić przez mysql?

    0
  • #4 12 Lut 2018 09:27
    JacekCz
    Poziom 36  

    bikemax napisał:
    Szukam możliwie najprostszego rozwiązania ...


    "najprostsze" mierzone koszty/zalety to takie najbardziej przyjęte w branży. Niczego lepszego do przechowywania takich danych nie wynaleziono, niż bazy danych. Do przetwarzania danych wynaleziono programy. Znasz takie zdanie: "Zróbmy najprościej jak się da, ale nie prościej" ?
    Znasz jakiś język programowania?

    Na ile zmienne te twoje dane są? Jaka to branża? Ten sam dostawca zawsze daje taki sam plik?

    masz jakis obrót, tzn masz jakiś budżet. Większość gotowych na rynku programów od segmentu "mały/średni" to ma

    0
  • #5 12 Lut 2018 09:31
    kinggustav
    Poziom 20  

    Zakładając, że zamierzasz zastosować jakąś bazę danych (choćby Excel) Twoje wymagania wydają się dość dziwne. Dlaczego chcesz robić:
    -przestawianie kolumn,
    -łączenie kolumn.
    Chyba warto wymyślić jakiś inny sposób, który nie wymaga od bazy takich cudów. To wszystko da się zrobić (zwłaszcza w Excelu), ale jest jakieś takie dziwaczne, sugeruje że biznesowo chcesz ciągle gruntownie zmieniać system cen, a chyba tak nie jest.

    0
  • #6 12 Lut 2018 09:45
    willyvmm
    Poziom 26  

    Skrypt awk powinien sobie z tym poradzić.

    0
  • #7 12 Lut 2018 11:55
    JacekCz
    Poziom 36  

    willyvmm napisał:
    Skrypt awk powinien sobie z tym poradzić.


    Trudno wyrokować jakie narzędzie pomoże, jak założenia są mgliste. Pomijam szczegółową opinię, że awk niekoniecznie jest adekwatny do problemu.

    kinggustav napisał:
    ... twoje wymagania wydają się dość dziwne....

    W pełni się zgadzam z wypowiedzią

    0
  • #8 12 Lut 2018 14:43
    3034656
    Użytkownik usunął konto  
  • #9 12 Lut 2018 18:35
    bikemax
    Poziom 13  

    A więc dokładniej opisując:
    branża to IT/materiały eksploatacyjne do drukarek/ artykuły biurowe

    -Mam 4 dostawców którzy udostępniają mi pliki CSV z bazą towarową i aktualnymi cenami zakupu (dość częste zmiany z racji na zmianę kursu walut), stanami magazynowymi etc
    -każdy z tych plików jest inny, ma inna strukturę - kolumny etc, każdy dostawca ma inne kategorie, inne nazwy kategorii, inaczej zrobione opisy etc
    -muszę więc stworzyć "klucz" dla każdego pliku dostawcy inny, według którego zostanie przerobiony plik CSV na taką strukturę jaką mam w sklepie internetowym.

    Więc każdy z plików musi być przerobiony pod względem:
    -zmiany kolejności kolumn
    -łączenie kolumn ze sobą (niektórzy mają opis produktu podzielony w kilku kolumnach albo nazwy produktów)
    -musi zamienić tekst według schematu (zmiany)
    -przeliczać wartości i tworzyć nowe kolumny (z jednej wartości ceny na 3 poziomy u mnie)
    -przeliczać cenę na punkty lojalnościowe według algorytmu

    Owszem, można to zrobić przez exela bo są to proste bazy tekstowe, ale musiałbym za każdym razem po kolei wykonywać jakieś czynności, znajdź i zamień tekst etc. A tutaj chodzi o pewien automatyzm.

    Znam trochę php

    Chodzi mi o to żeby ktoś podpowiedział czym to najlepiej zrobić? Czy jest jakiś program którym to można konwertować czy może w exelu jest taka opcja żeby zrobić takie "klucze" ?

    0
  • #10 12 Lut 2018 19:06
    JacekCz
    Poziom 36  

    chcesz powiedzieć, że te materiały biurowe do swoich klientów potem refakturujesz długopisem?

    0
  • #11 13 Lut 2018 09:44
    bikemax
    Poziom 13  

    zamówienia eksportowane są do NEXO PRO.

    0
  • #13 15 Lut 2018 12:28
    bikemax
    Poziom 13  

    A czy nie ma możliwości stworzenia takiego "klucza" w exel? Ktoś mi cos kiedyś wspominał że takie cudo istnieje. C+ nie znam, dawno dawno temu coś robiłem w php, jakiś mały skrypt z bazą tekstową. Nam zrobieniem tego w php tez się zastanawiałem ale nie wiem czy robienie tego jako bazy tekstowej i przerabianie przez php to dobry pomysł...

    0
  • #14 15 Lut 2018 12:34
    willyvmm
    Poziom 26  

    Rób w tym czym potrafisz.
    Php ma sporo funkcji które mogą okazać się przydatne.

    0
  • #15 15 Lut 2018 15:57
    bikemax
    Poziom 13  

    Ostatecznie robię to przez VBA w exel ;) zadecydowała prostota i łatwość wykonania. Choć jak na razie to się zaciąłem w pewnym momencie i szukam rozwiązania.

    0
  Szukaj w 5mln produktów