1

Temat: Ponownie import CSV do bazy

Witam,
jestem nowy jeśli chodzi o SQL'a. Wiem, że ten temat był już nie raz poruszany ale niestety wciąż nie mogę sobie z tym poradzić. Potrzebuje zaimportować plik csv na serwer gdzie znajduje się baza, próbowałem oczywiście bawić się COPY ale niestety nie mogłem w/w pliku zaimportować. Więc wymyśliłem sobie, że postawię sobie serwer postgresql na lapku (zainstalowane Ubuntu), zaimportuję plik csv zrobię backup bazy i zaimportuję go na serwer, no ale niestety nie mogę zaimportować w dalszym ciągu tego pliku hmm
Tabela na moim serwerze (laptop) wygląda następująco:

  Table "public.baza"
  Column  | Type | Modifiers
----------+------+-----------
material | text | not null
format   | text | not null
gatunek  | text | not null
jm       | text | not null
ilosc    | text | not null

W pliku csv znajdują się tabele o takich samych nazwach. Po wydaniu polecenia "copy baza from '/home/user/Pulpit/plik.csv' delimiter ';'", wyskakuje mi błąd:
BŁĄD:  extra data after last expected column
CONTEXT:  COPY baza, line 2: "'Bednarka','40  x  3 ','St37-2','kg','62,00'"

Wszystko robię z konsoli, ale powoli już mi sie cierpliwość kończy do tego :]
Z góry dzięki za odpowiedź.

Ostatnio edytowany przez Maciek (2009-07-23 10:42:18)

2

Odp: Ponownie import CSV do bazy

3

Odp: Ponownie import CSV do bazy

4

Odp: Ponownie import CSV do bazy

a

public.baza

Najlepsze info znajdziesz w manualu na postgresql.org.

5

Odp: Ponownie import CSV do bazy

public.baza

Ostatnio edytowany przez Maciek (2009-07-29 10:32:44)

6

Odp: Ponownie import CSV do bazy

No to pokaż co pokazują w bazie polecenia

\dt
\dn

7

Odp: Ponownie import CSV do bazy

\dt

8

Odp: Ponownie import CSV do bazy

To najpierw sprawdź czy tabla ma na pewno tylko kolumn co pól w csv. Jak pola są oddzielone ',' to sprawdz czy czasem zawartśoć jakiejs kolumny nie matabeli zawierac ',' tzn czy sie nie pierdzieli ',' jak o separator pól i jako zawartość pól jasne?:)

9

Odp: Ponownie import CSV do bazy

10

Odp: Ponownie import CSV do bazy

To znowu ja. Ten sql ;P
Teraz mam taki problem. Wszystko się importuję, tylko niestety niektóre dane są wrzucone do tabeli z separatorem tekstu, mianowicie: '
Drugim problemem jest, że dane nie importują się do pierwszych komórek tylko dopiero od którejś komórki.
Używam polecenia:

copy baza from '/home/user/Pulpit/plik.csv' DELIMITER ';' CSV;

Pozdrawiam

11

Odp: Ponownie import CSV do bazy

12

Odp: Ponownie import CSV do bazy

  Column  |       Type        | Modifiers 
----------+-------------------+-----------
 material | character varying | 
 format   | character varying | 
 gatunek  | character varying | 
 jm       | character varying | 
 ilosc    | character varying | 

Ostatnio edytowany przez Maciek (2009-08-06 09:46:02)

13

Odp: Ponownie import CSV do bazy

14

Odp: Ponownie import CSV do bazy

copy tablename from '/home/guy/JHZ.csv' delimiters ';'

select * from tablename limit 1;
  izena   |  abizen1  |   abizen2    |  eposta  |    
----------+---------+------------+--------+
"izena"  | "abizen1" | "abizen2"    | "eposta" |

I use this command to avoid this:

copy tablename from '/home/guy/JHZ.csv' delimiters ';' CSV;

select * from tablename limit 1;

izena  | abizen1 |  abizen2   | eposta |            
--------+---------+------------+--------+
izena  | abizen1 | abizen2    | eposta |

Ostatnio edytowany przez Maciek (2009-08-10 10:37:13)