Mysql i import z pliku
demog - 13-03-2006 11:23
Mysql i import z pliku
Mam pytanko. Dostałem właśnie do zrobienia stronke, zleceniodawca wrzucił mi 5000 plików txt z opisami towarów, pliki są ponumerowane np.3300.txt czy można jakoś zassać to do bazy?Struktura pliku jest taka: początek wiersza nr towarowy który może być id_towaru pare spacji i opis towaru. W każdym pliku jeden towar.Proszę o pomoc szanownych grupowiczów
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
blochoo - 13-03-2006 11:23
Witam,
na Twoim miejscu napisal bym skrypcik, ktory zrobi z tych plikow jeden plik i wtedy go zassal.
Jesli te pliki sa zbudowane identycznie, to plik wynikowy (konkatenacja wszystkich) przepusc przez skrypt AWK , zeby powstal sensowny plik tekstowy np:
id_towaru [tab] nazwa [tab] opis
Jak bedziesz mial juz pliczek o takiej budowie, to kolejnym skryptem AWK przeksztalcisz go prosto na SQLa (odczytujesz kolejne pola, a w wyniku robisz 'print "insert into... " $1 $2.. ;' ).
Jesli nie dzialales nigdy w AWK to sprobuj:
http://sokrates.mimuw.edu.pl/~sebek/awk.html
AWK jest darmowe, zarowno na Linuxa jak i na Wina.
Pozdrawiam, blochoo CS@PP
demog@poczta.onet.pl - 13-03-2006 11:23
No Ci powiem, że o łaczeniu łańcuchów coś słyszałem, ale jak narazie to co piszesz brzmi katastrofikos:-) > Witam, > > na Twoim miejscu napisal bym skrypcik, ktory zrobi z tych plikow jeden > plik i wtedy go zassal. > > Jesli te pliki sa zbudowane identycznie, to plik wynikowy (konkatenacja > wszystkich) przepusc przez skrypt AWK , zeby powstal sensowny plik > tekstowy np: > > id_towaru *[tab] nazwa *[tab] opis > > Jak bedziesz mial juz pliczek o takiej budowie, to kolejnym skryptem > AWK przeksztalcisz go prosto na SQLa (odczytujesz kolejne pola, a w > wyniku robisz 'print "insert into... " $1 $2.. ;' ). > > Jesli nie dzialales nigdy w AWK to sprobuj: > > http://sokrates.mimuw.edu.pl/~sebek/awk.html > > AWK jest darmowe, zarowno na Linuxa jak i na Wina. > > Pozdrawiam, > blochoo > CS@PP >
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
blochoo - 13-03-2006 11:24
Witam ponownie,
no mozna to tez zrobic bardziej po lamersku:-)
Podstawa: musisz polaczyc pliki w calosc. Najprosciej robi sie takie rzeczy w Linuxie (poprostu przekierowanie wejscia z *.txt do jakiegos pliku), albo piszac prosty programik.
Jak juz je polaczysz to masz pliki postaci:
id [kilka_spacji] opis (jesli dobrze zrozumialem Twoj post)
[kilka_spacji] - jest to stala dla kazdego pliku liczba spacji miedzy id i opisem, tak?
Wciagasz to do jakiegos lepszego edytora teksu (Vim, Context, JEdit). Zamieniasz te [kilka_spacji] na jeden z znak [tab]. Potem taki plik, o ile sie nie myle, mozna zapodac Excelowi (dac zeby znak tabulacji rozdzielal komorki) i dostaniesz arkusz z dwoma kolumnami (id i opis). Teraz wstawiasz kolumny z poleceniami SQL i masz wygenerowany skrypt.
Metoda nie sprawdzana:-) Ale jak bym byl w wielkiej potrzebie to tak bym wlasnie postapil:-D
Pozdrawiam, blochoo CS@PP
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.plponland.htw.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 |
|