Okreslony format danych
mgora@wp.pl - 08-04-2006 00:04
Okreslony format danych
Witam!
Zwracam sie do Was z problemem: musze wynalezc sposob aby przekonwertowac dane z jednego formatu w drugi, scisle okreslony. Jestem odpowiedzialny za obsluge danych w firmie ktora drukuje czeki i inne pisma dla klientow firm zewnetrznych - kilkadziesiat tysiecy tygodniowo.
Wprowadzamy teraz nowy system, ktory swoja droga jest do dupy - bo wczytuje dane tylko w scisle okreslonym formacie (ASCII, stala dlugosc rekordu, staly rozklad pol, itp, itd). Natomiast firmy dostarczaja nam dane w postaci jak im sie podoba - najczesciej sa to pliki CSV, z ktorymi dotychczasowe oprogramowanie ktotrego uzywam doskolnaje daje sobie rade - a jak nie, to szybka konwersja chociazby Excelem i nie ma problemu. Nowy system tego nie bedzie potrafil, wiec pojawia sie duuuuuzy problem. Oprogramowania bazodanowego w firmie brak - programy ktorych uzywam do drukowania co prawda obsluguja plik DBase i jakies tam bardzo proste funkcje (cos jak okrojony SQL) oferuja, ale nic wiecej. Nic co pozwalalbo by wczytac dane w postaci pliku CSV, albo zwyklego TXT nawet, ustawic sobie odpowiednie kolumny i zapisac w pozadanym formacie.
Wszytko rozbija sie o jeden szczegol: nowy sytem wymaga, alby pola numeryczne w rekordzie byly wypelnione zerami. Czyli jezlei pole o dlugosci 10 znakow zawiera liczbe 123, to zeby system to wczytal pole musi miec postac 0000000123.
Znacie moze jakis program ktory by cos takiego umozliwial? Bo do tej pory potrafilem jedynie napisac sobie makro pod Desktop Mailer ktore "prawie" poprawnie konwertuje pliki do nowego formatu, ale..... za cholere nie potrafi wypelnic pola numeryczngo zerami i wyjustowac do prawej. Zamiast zer wstawia spacje, zupelnie logicznie zreszta....
Albo moze powiedzicie, czy jest sens zmusic kierownictwo do zakupu MS Acces - zrobilem juz pare baz na tej platformie, co prawda nie bawilem sie w zadne zaawansowane eksporty, ale pewnie daloby sie dane wczytane do Accesa zapisac w takej formie jak mnie interesuje - zeby w polach numerycznych zamiast spacji ekportowal zera? Myle sie czy nie?
Pozdrawiam serdecznie, Marcin Gora
Grzegorz Danowski - 08-04-2006 00:04
Uzytkownik <mgora@wp.pl> napisal w wiadomosci news:1144369271.693958.169790@g10g2000cwb.googlegr oups.com... > Witam! > > Zwracam sie do Was z problemem: musze wynalezc sposob aby > przekonwertowac dane z jednego formatu w drugi, scisle okreslony. > Jestem odpowiedzialny za obsluge danych w firmie ktora drukuje czeki i > inne pisma dla klientow firm zewnetrznych - kilkadziesiat tysiecy > tygodniowo. > > Wprowadzamy teraz nowy system, ktory swoja droga jest do dupy - bo > wczytuje dane tylko w scisle okreslonym formacie (ASCII, stala dlugosc > rekordu, staly rozklad pol, itp, itd). Natomiast firmy dostarczaja nam > dane w postaci jak im sie podoba - najczesciej sa to pliki CSV, z > ktorymi dotychczasowe oprogramowanie ktotrego uzywam doskolnaje daje > sobie rade - a jak nie, to szybka konwersja chociazby Excelem i nie ma > problemu.
Moze poproscie dostawca nowego systemu, by przygotowal jakies narzedzia do importu danych w starym formacie. Ewentualnie moze jakas firma trzecia przygotuje wam takie narzedzie?
> Nowy system tego nie bedzie potrafil, wiec pojawia sie duuuuuzy > problem. Oprogramowania bazodanowego w firmie brak - programy ktorych > uzywam do drukowania co prawda obsluguja plik DBase i jakies tam bardzo > proste funkcje (cos jak okrojony SQL) oferuja, ale nic wiecej. Nic co > pozwalalbo by wczytac dane w postaci pliku CSV, albo zwyklego TXT > nawet, ustawic sobie odpowiednie kolumny i zapisac w pozadanym > formacie.
Do tego nie trzeba oprogramowania bazodanowego - lecz raczej jakiegos jezyka czy to skryptowego (np. vbs) czy tradycyjnego (np. darmowy VB Express).
> Wszytko rozbija sie o jeden szczegol: nowy sytem wymaga, alby pola > numeryczne w rekordzie byly wypelnione zerami. Czyli jezlei pole o > dlugosci 10 znakow zawiera liczbe 123, to zeby system to wczytal pole > musi miec postac 0000000123.
To jest proste do uzyskania zarówno w VB Express jak i w Accessie. Natomiast zasadnicza trudnosc bedzie w prawidlowym odczytaniu danych zapisanych w róznych formatach - to bedzie wymagalo jakiejs inteligencji aplikacji.
A najlepiej bedzie zmusic dostawców danych (zawsze jest jakis argument: "przykro nam, ale nowy system nie akceptuje dowolnosci") do zastosowania sztywnego formatu - dyscyplina w w stosowanych formatach nie jest taka zla :).
Pozdrawiam Grzegorz
mgora@wp.pl - 08-04-2006 00:04
> Moze poproscie dostawca nowego systemu, by przygotowal jakies narzedzia do > importu danych w starym formacie. Ewentualnie moze jakas firma trzecia > przygotuje wam takie narzedzie? Dostawca systemu nie przygutuje nic, bo to jest firma ktora jest wlasnoscia naszej firmy - matki, i ten system jest juz uzywany w 6 innych filiach. Problem w tym ze oni robia cos innego :-) A narzedzie to ja moge sam przygotowac, tylko szukam jakies latwej drogi.
> Do tego nie trzeba oprogramowania bazodanowego - lecz raczej jakiegos jezyka > czy to skryptowego (np. vbs) czy tradycyjnego (np. darmowy VB Express). Hmmm... VB Express, powiadasz? I darmowe? Pomysl nieglupi, w ostatecznosci VB jak jak kazdy inny jezyk programowania ktory znam.... Moze sie uda cos wypocic.
> To jest proste do uzyskania zarówno w VB Express jak i w Accessie. Natomiast > zasadnicza trudnosc bedzie w prawidlowym odczytaniu danych zapisanych w > róznych formatach - to bedzie wymagalo jakiejs inteligencji aplikacji. Inteligentna aplikacja to bede ja :-) Nie oczekuje AI ani nic, chodzi mi tyko o to, ze jezeli ja wczytam sobie dane ktore mnie interesuja do Accesa albo i do aplikacji VB Express (recznie przyporzadkuje kolumny zrodlowe do docelowych), to zeby mi to tylko zapisalo wczytane dane w interesujacym mnie formacie. Musialbym taka operacje wykonac moze dwa - trzy razy dziennie, bo dostaje malo plikow ale za to z duza iloscia danych. Dlatego wlasnie myslalem o Accesie, bo ma w miare rozbudowane mozliwosci importowania danych, wiec wszytko co bym musial zrobic to zaimportowac dane do uprzednio stworzonej tabeli i uruchomic funkcje VB ktora by na tej tabeli operowala...
> A najlepiej bedzie zmusic dostawców danych (zawsze jest jakis argument: > "przykro nam, ale nowy system nie akceptuje dowolnosci") do zastosowania > sztywnego formatu - dyscyplina w w stosowanych formatach nie jest taka zla > :). Jak wyzej, to "trudni" ludzie.... Dwa tygodnie im tlumaczylem ze plik w standardzie ASCII moze byc zarowno *.txt, jak ci *.csv, albo nawet *.dupa... Kobieta nie moze pojac ze to nie zalezy od rozszerzenia, i ciagle sie skarzyla moim przelozonym ze nie wysylam jej plikow w standardzie ASCII, bo dla niej standard ASCII to pewnie plik *.ascii Oni po prostu kupili ten program i sprzeaja dalej, nie majac bladego pojacia o IT w ogole.
Pozdrawiam, Marcin Gora
hokah - 08-04-2006 00:04
Najlepszym rozwiazaniem bylby zakup sansownego oprogramowania ETL, sa tez darmowe tego typu programy jak np. Octopus czy CloverETL ale bedziesz musial postarac sie o sterowniki JDBC, do plików dbf udalo mi sie dobrac poprzez JDBC-ODBC bridge. Jednak na codzien korzystam z Accessa. Polecam równiez MydbPal to darmowe rozwiazanie jedynie w zastosowaniach z MySQL, ale mozesz zebrac wszystko w MySQL przetworzyc pola i latwo z MySQLa wyciagnac.
Grzegorz Szyszlo - 08-04-2006 00:04
mgora@wp.pl wrote: > Witam! > > Zwracam sie do Was z problemem: musze wynalezc sposob aby > przekonwertowac dane z jednego formatu w drugi, scisle okreslony. > Jestem odpowiedzialny za obsluge danych w firmie ktora drukuje czeki i > inne pisma dla klientow firm zewnetrznych - kilkadziesiat tysiecy > tygodniowo. > > Wprowadzamy teraz nowy system, ktory swoja droga jest do dupy - bo > wczytuje dane tylko w scisle okreslonym formacie (ASCII, stala dlugosc > rekordu, staly rozklad pol, itp, itd). Natomiast firmy dostarczaja nam > dane w postaci jak im sie podoba - najczesciej sa to pliki CSV, [kombinowanie CIACH]
po co tak kombinowac? to jest zwykle przetwarzanie wsadowe wiersz po wierszu. zwykly filtr w perlu spokojnie wystarczy. jak znam zycie, do napisania z testowaniem w 15 minut w wersji wstepnie dzialajacej ;) na wydajnosc tez nie powinienes narzekac. powinien mielic bardzo szybko.
proponuje odwiedzenie grupy pl.lang.perl ;)) zadanie rownie dobrze mozna zrealizowac w jezyku python, grupa pl.lang.python .
znik.
hokah - 08-04-2006 00:04
A tak z ciekawosci, myslisz ze PHP nadaje sie do takich zastosowan ?
Grzegorz Szyszlo - 08-04-2006 00:04
hokah wrote: > A tak z ciekawosci, myslisz ze PHP nadaje sie do takich zastosowan > ?
a po co sie w tym meczyc?
znik.
Antonio Bermuda - 30-04-2006 00:13
On Fri, 07 Apr 2006 15:11:37 +0200 Grzegorz Szyszlo <znik@wbc.lublin.pl> wrote:
> hokah wrote: > > A tak z ciekawosci, myslisz ze PHP nadaje sie do takich zastosowan > > ? > > a po co sie w tym meczyc? > > znik.
E tam zaraz męczyć, spokojnie można to w php napisać, jeżeli ktoś zna PHP, a nie zna perla, to pisanie w perlu będzie dla niego męką.
-- Internet Explorer? Powinni tego zabronić.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
=?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?=
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
[laik]Jak =?ISO-8859-2?Q?stworzy=E6/zaczac_tworzyc__ma=B3=B1?==?ISO-8859-2?Q?__baz=EA_danych_na_potrzeby_www=3F?=
[mysql] przenoszenie danych =?ISO-8859-2?Q?mi=EAdzy_tabelami_?==?ISO-8859-2?Q?w_r=F3=BFnych_bazach?=
Ksiazka - "Podstawowy =?ISO-8859-2?Q?wyk=B3ad_z_system=F3w_?==?ISO-8859-2?Q?baz_danych=22?=
Zrywanie =?ISO-8859-2?Q?po=B3aczen_z_baza_danych_-_pos?==?ISO-8859-2?Q?tgresql_=3C-=3E_odbc?=
Połączenie bazy danych z wykonaniem polaczenia telefonicznego
[mssql] insert do tabeli na podstawie danych z innej tabeli
[oracle] Baza danych do kursy Introduction to Oracle9i:PL/SQL ? Skąd ją pobrać ?
zanotowane.pldoc.pisz.plpdf.pisz.platanvarne633.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|