Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Import danych., Jak?
Blackhole
post 2.12.2004, 13:13:21
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Jak zaimportować do bazy dane z pliku CVS :?:

Ten post edytował Blackhole 2.12.2004, 13:13:54


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
ser
post 2.12.2004, 16:33:45
Post #2





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.10.2004

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


proponuje import do Accesa i export przez ODBC
ewentualnie importer via php,perl itp
m.
Go to the top of the page
+Quote Post
Blackhole
post 2.12.2004, 21:00:12
Post #3





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


To hell with Access! tongue.gif

A import via php to jak :?:


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
ser
post 3.12.2004, 08:32:19
Post #4





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.10.2004

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


ładujesz plik do zmiennej>parsowanie w pętli>insert
Go to the top of the page
+Quote Post
dr_bonzo
post 3.12.2004, 09:50:37
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


http://www.mail-archive.com/pgadmin-suppor...g/msg03222.html
Use psql and the pgsql 8.0 COPY command. Currently, this isn't currently supported in pgadmin3 (we *do* have export)

Na postrgesie sie nie znam, ale zasze mozna to zrobic za pomoca skryptu.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Blackhole
post 17.12.2004, 13:04:16
Post #6





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Zrobiłem sobie programik w C++ zamieniający plik CVS na skrypt dodający dane do bazy. To chyba najłatwiejsze rozwiązanie.


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
ser
post 20.12.2004, 12:43:47
Post #7





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.10.2004

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


libpq czy embedded SQL?
Go to the top of the page
+Quote Post
Blackhole
post 25.12.2004, 20:05:18
Post #8





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Bez żadnych bibliotek. Zrobiłem w czystym C/C++ tak tylko, że plik CVS jest przerabiany w plik zawierający polecenia "INSERT INTO". Potem uruchamiam go w psql i mam dane z pliku CVS w bazie. Może to niezbyt dobre rozwiązanie, ale innego nie mam, a jak dotąd mi wystarcza.


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
mhs
post 28.12.2004, 13:46:23
Post #9





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

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


Nie najnowszy wątek, ale odpowiem – być może w przyszłości przyda się komuś.

Nie jest konieczne pisanie dodatkowych programów by można zaimportować dane do bazy danych z pliku CSV. Do tego celu z psql’a można wykorzystać polecenie \copy.


Kod
\copy table [ ( column_list ) ] { from | to } filename | stdin | stdout [ with ] [ oids ] [ delimiter [as] ’character’ ] [ null [as] ’string’ ]



przykład:

Kod
\COPY test FROM 'c:/import.csv' USING DELIMITERS ','
Go to the top of the page
+Quote Post
Blackhole
post 29.12.2004, 15:42:38
Post #10





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Ok, wielkie dzięki smile.gif Dobrze wiedzieć o takiej możliwości.


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
Cezar708
post 28.03.2008, 14:31:06
Post #11





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Witam,

wiem, że wątek odgrzewam po pnad 3 latach, ale chyba niepotrzebne będzie zakładanie nowego tematu.

Otóż mam podobny problem: czy jest możliwość użycia polecenia COPY BEZPOŚREDNIO z poziomu PHP, a nie jak powyżej z poziomu psql?

chodzi mi o coś takiego (oczywiście to nie działa)

  1. <?php
  2. pg_query($dbHandle, "
  3. CREATE TABLE friend
  4. (
  5. firstname char(15),
  6. lastname char(15),
  7. city char(15),
  8. age int4
  9. ");
  10. COPY tabela FROM 
  11. 'imie1|nazwisko1|city1|10
  12. imie2|nazwisko2|city1|11
  13. imie3|nazwisko3|city1|12
  14. .'
  15. USING DELIMITERS '|'
  16. ");
  17. ?>


czy jest jakaś możliwość zrobienia tego z poziomu PHP bez tworzenia pliku? Czy może jest jakieś inne obejście?

Ten post edytował Cezar708 28.03.2008, 14:31:51
Go to the top of the page
+Quote Post
chriswebber
post 6.05.2008, 14:31:59
Post #12





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 13.11.2007

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


Zaimportuj plik plik .csv za pomocą file_get_contents() otrzymasz string - a żeby zrobić z nim coś sensownego to zrób sobie np. explode () po ";" czy "," i otrzymujesz 2 wymiarową tablicę z której wyciągasz dane for() i wrzucasz do bazy - wada jak dancyh jest więcej to limity co do czasu wykonania skryptu bądź wielkości zajmowanej pamięci operacyjnej lubią być przekraczane ....
Go to the top of the page
+Quote Post
Sedziwoj
post 6.05.2008, 17:46:56
Post #13





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

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


Cytat(chriswebber @ 6.05.2008, 15:31:59 ) *
Zaimportuj plik plik .csv za pomocą file_get_contents() otrzymasz string - a żeby zrobić z nim coś sensownego to zrób sobie np. explode () po ";" czy "," i otrzymujesz 2 wymiarową tablicę z której wyciągasz dane for() i wrzucasz do bazy - wada jak dancyh jest więcej to limity co do czasu wykonania skryptu bądź wielkości zajmowanej pamięci operacyjnej lubią być przekraczane ....


Już lepiej http://www.php.net/manual/en/function.fgetcsv.php


--------------------
Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami.
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 23.07.2025 - 05:59