วันพุธที่ 28 พฤษภาคม พ.ศ. 2557

Import CSV file into a PostgreSQL table

กรณีนี้เริ่มต้นจากไม่มีข้อมูลอะไรเลย โดยสร้างข้อมูลขึ้นเอง ไปจนกระทั่ง import เข้าสู่ Postgres โดยแยกเป็น 2 กระบวนการใหญ่ คือ ส่วนสร้างข้อมูล และส่วนของ Postgres

ส่วนสร้างข้อมูล
กรณีข้อมูลไม่ซับซ้อน
1. สร้างข้อมูลบน excel และ Save as...  source.csv โดยจะเลือกในรูปแบบใดก็ได้


2. เปิด source.csv ด้วย notepad และลบชื่อ field บรรทัดบนสุดทิ้ง








3. Save as... source.csv และเปลี่ยน encoding ให้เป็น UTF-8
4. Copy source.csv ไปไว้ที่ C:\Program Files (x86)\PostgreSQL\9.1\bin\

กรณีข้อมูลมีอักขระพิเศษอยู่ในฟิลด์ต่างๆเยอะ
1.พิมพ์ข้อมูลที่ต้องการลงบน excel โดยระหว่างคอลัมน์แทรกด้วยเครื่องหมาย "|" เพื่อใช้แทนเครื่องหมาย ","


2. Save as... source.txt จากภาพข้างล่าง .txt แต่ละชนิดจะแตกต่างกันที่รหัสของอักขระ (character) ซึ่งสามารถเลือกได้ทั้ง 3 รูปแบบ


3. แก้ไข source.txt ด้วย notepad จะมี tab คั่นระหว่าง field ซึ่งต้องทำการลบ tab นี้ทิ้ง


4. โดยการ replace และลบชื่อ field บรรทัดบนสุดทิ้ง


5. Save as ด้วยการเปลี่ยน Encoding เป็น UTF-8
6. Copy source.txt ไปไว้ที่ C:\Program Files (x86)\PostgreSQL\9.1\bin\

ส่วนงาน Postgres
1. สร้างตารางบน Postgres
CREATE TABLE source (s_code char(20) PRIMARY KEY, s_name_e varchar, s_name_t varchar);

2. import ข้อมูลเข้าสู่ตารางบน Postgres
import source.csv
COPY source FROM 'C:\Program Files (x86)\PostgreSQL\9.1\bin\source.csv' DELIMITERS ',' CSV;
import source.txt
COPY source FROM 'C:\Program Files (x86)\PostgreSQL\9.1\bin\source.txt' DELIMITERS '|' CSV;

3. ข้อมูลจะถูก import เข้าไปในตาราง ดังรูป










URL: ตัวอย่างคำสั่งบน PostgreSQL ในการ import csv to table

ไม่มีความคิดเห็น:

แสดงความคิดเห็น