<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - Ponownie import CSV do bazy]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=255&amp;type=atom"/>
	<updated>2009-08-07T08:10:13Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=255</id>
		<entry>
			<title type="html"><![CDATA[Odp: Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1131#p1131"/>
			<content type="html"><![CDATA[[quote=rski]Tak to uruchamiasz
[quote]
copy baza from '/home/user/Pulpit/plik.csv' DELIMITER ';' CSV;
[/quote]?

Po co CSV na koncu?[/quote]

Próbowałem po prostu już różnych wariantów, znalazłem w manual'u postgres'a:
[code]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 |[/code]
Bez "CSV" jest tak samo.

Edit:
Ok. Usunąłem z csv znaczek ' i zaimportowało się bez niego. Teraz zostaje kwestia importu danych zaczynając od pierwszego wolnego wiersza.]]></content>
			<author>
				<name><![CDATA[Maciek]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=948</uri>
			</author>
			<updated>2009-08-07T08:10:13Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1131#p1131</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1130#p1130"/>
			<content type="html"><![CDATA[Tak to uruchamiasz
[quote]
copy baza from '/home/user/Pulpit/plik.csv' DELIMITER ';' CSV;
[/quote]?

Po co CSV na koncu?]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-08-06T14:18:04Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1130#p1130</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1128#p1128"/>
			<content type="html"><![CDATA[[quote][b]rski napisał/a:[/b]

Chyba nie obejdzie się bez pokazania struktury tabeli i fragmentu csv, który źle się importuje.[/quote]

Tabela:
[code]  Column  |       Type        | Modifiers 
----------+-------------------+-----------
 material | character varying | 
 format   | character varying | 
 gatunek  | character varying | 
 jm       | character varying | 
 ilosc    | character varying | 
[/code]

CSV:
[code]'listwa';'40  x  3 ';'St37-2';'kg';62,00
'listwa      ';'0,6 x 1000 x 2000';'St3S';'kg';171,00
'listwa      ';'1 x 1000 x 2000';'1.4404';'kg';10,00[/code]

[quote][b]rski napisał/a:[/b]

Co znaczy importuja sie od jakiejś komórki?[/quote]
Dane zaczynają się importować nie od pierwszego tylko np od 10 wiersza.

Mam nadzieje, że o to chodziło ;)

Pozdrawiam]]></content>
			<author>
				<name><![CDATA[Maciek]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=948</uri>
			</author>
			<updated>2009-08-06T07:19:35Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1128#p1128</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1123#p1123"/>
			<content type="html"><![CDATA[Popatrz tu [url]http://www.postgresql.org/docs/8.3/interactive/sql-copy.html[/url] , może opcja quote sie przyda. A jak nie to usuń wcześniej z pliku te '.
Co znaczy importuja sie od jakiejś komórki?
Chyba nie obejdzie się bez pokazania struktury tabeli i fragmentu csv, który źle się importuje.]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-08-05T11:09:04Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1123#p1123</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1122#p1122"/>
			<content type="html"><![CDATA[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:
[code]copy baza from '/home/user/Pulpit/plik.csv' DELIMITER ';' CSV;[/code]
Pozdrawiam]]></content>
			<author>
				<name><![CDATA[Maciek]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=948</uri>
			</author>
			<updated>2009-08-05T09:24:47Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1122#p1122</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1120#p1120"/>
			<content type="html"><![CDATA[Ok. Rzeczywiście niektóre kolumny po prostu zawierały znak, który był używany jako separator pola. Wystarczyło zastosować inny separator pola i już jest ok. Przecież to takie proste :D Dzięki [b]rski[/b] za cierpliwość i pomoc. Pozdrawiam]]></content>
			<author>
				<name><![CDATA[Maciek]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=948</uri>
			</author>
			<updated>2009-08-04T09:58:20Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1120#p1120</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1110#p1110"/>
			<content type="html"><![CDATA[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?:)]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-07-31T08:21:03Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1110#p1110</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1109#p1109"/>
			<content type="html"><![CDATA[[quote=rski]No to pokaż co pokazują w bazie polecenia
[code]
\dt
[/code]

[code]
\dn
[/code][/quote]
Ok. Z tym już sobie poradziłem. Dzięki [b]rski[/b]. Ale jak to zwykle bywa powstał nowy problem. Teraz przy kopiowaniu wyskakuje mi taki oto komunikat:
[code]
BŁĄD:  extra data after last expected column
CONTEXT:  COPY baza, line 1:...
[/code]
Rozumiem, że podczas kopiowania funkcja natknęła się na "nieoczekiwane" dane ;) Plik .csv był zapisywany z .xls przez MS Office 2007 i OpenOffice 3.1, w kodowaniu takim jak baza. Próbowałem już różne opcje kopiowania, lecz bez skutku. Więc znów proszę o pomoc. Z góry dzięki.
Pozdrawiam Maciek]]></content>
			<author>
				<name><![CDATA[Maciek]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=948</uri>
			</author>
			<updated>2009-07-31T08:12:10Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1109#p1109</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1102#p1102"/>
			<content type="html"><![CDATA[No to pokaż co pokazują w bazie polecenia
[code]
\dt
[/code]

[code]
\dn
[/code]]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-07-29T10:33:09Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1102#p1102</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1101#p1101"/>
			<content type="html"><![CDATA[[quote=rski]a
[code]
public.baza
[/code]
Najlepsze info znajdziesz w manualu na postgresql.org.[/quote]

Niestety to samo. Przeszukałem manual, pytałem wujka Google i niestety nie mogę znaleźć rozwiązania na ten problem (BŁĄD: relacja baza nie istnieje). Więc znów prosiłbym o pomoc w miarę możliwości. Jeśli to pomoże przy używaniu polecenie "SELECT * FROM ..." wyskakuje ten sam błąd. Z góry dzięki i Pozdrawiam.]]></content>
			<author>
				<name><![CDATA[Maciek]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=948</uri>
			</author>
			<updated>2009-07-29T08:32:28Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1101#p1101</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1075#p1075"/>
			<content type="html"><![CDATA[a
[code]
public.baza
[/code]
Najlepsze info znajdziesz w manualu na postgresql.org.]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-07-23T17:00:45Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1075#p1075</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1074#p1074"/>
			<content type="html"><![CDATA[No tak ;) Mój błąd. Dzięki.
Teraz mam błąd relacja "baza" nie istnieje, ale powinienem znaleźć coś na ten temat w necie. No chyba, że [b]rski[/b] miałbyś pod ręką ciekawego linka ;P Dzieki jeszcze raz za szybką odpowiedź. Pozdrawiam]]></content>
			<author>
				<name><![CDATA[Maciek]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=948</uri>
			</author>
			<updated>2009-07-23T16:20:51Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1074#p1074</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1071#p1071"/>
			<content type="html"><![CDATA[A czemu delimiter ';' z pliku wynika że delimiter powinien być ',' 
[quote]
CONTEXT:  COPY baza, line 2: "'Bednarka','40  x  3 ','St37-2','kg','62,00'"
[/quote]
czyż nie?]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-07-23T15:54:23Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1071#p1071</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Ponownie import CSV do bazy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1066#p1066"/>
			<content type="html"><![CDATA[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 :/
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ź.]]></content>
			<author>
				<name><![CDATA[Maciek]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=948</uri>
			</author>
			<updated>2009-07-23T08:34:47Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1066#p1066</id>
		</entry>
</feed>
