Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> import pliku text, przecinek vs. kropka
elj
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 23.07.2005

Ostrzeżenie: (0%)
-----


Witam
Mam problem jak ustawić typ kolumny żeby prawidłowo został zaimportowany plik textowy, gdzie są zawarte liczby zmiennoprzecinkowe (z przecinkiem).
Gdy ustawiam kolumnę na np. decimal (dł. jedno miejsce po przecinku) to zamiast dziesiętnej mam po kropce 0. Gdy ustawiam kolumnę na tekst import jest prawidłowy, czyli cała liczba i po przecinku dziesietną.
Druga opcja nie za bardzo mi odpowiada do dalszych działań matemat. typu sortowanie, np jak jest 999,4 i 1001,5 to po sortowniu twierdzi że pierwsza jest większa od drugiej, bo z 1001,5 tak jakby przesuwał przecinek i wychodzi 1,001.5
Chyba że jest jakis sposób na traktowanie liczby z kolumny text jako liczby zmienoprzcinkowe?
pozdr. elj
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mhs
post
Post #2





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


rozwiazan w Twoim przypadku (w zaleznosci od tego jak dokladnie wyglada plik, z ktorego importujesz dane)

przykladowe rozwiazanie jest nastepujace

jezeli przecinek w Twoim pliku wystepuje tylko jeden raz (do oddzielenia wartosci dziesietnych) mozesz zrobic to w nastepujace sposob
1) wykorzystac narzedzie dostarczane wraz z systemem zarzadzania baza danych o nazwie replace (znajduje sie w katalogu bin) i zamienic kropke na przecinek i strumien wyjsciowy przekierowac do drugiego pliku

Kod
replace "," "." < c:\dane.txt > c:\dane2.txt


2) nastepnie majac tak przygotowane dane mozesz bez problemu importowac do bazy danych

Kod
mysql -u root -e "LOAD DATA INFILE 'c:\dane2.txt' INTO TABLE test.import  FIELDS TERMINATED BY ';'"


#) przykladowy plik zrodlowy jest nastepujacy
Kod
1;1,2343
2;112,123213
3;1212,23
4;123121,123



inne rozwiazanie to napisanie skryptu ktory pobierza zawartosc pliku a nastepnie doda do tabeli odpowiednie wartosci

napisz jak duzy masz ten plik, podaj kilka przykladowych wierszy - wowczas cos wiecej bede mogl doradzic i napisac
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 03:49