2017-09-24 3 views
0

.csv 파일에서 psql 테이블에 데이터를 시드하려고합니다. 이 설정입니다 :.csv 파일에서 postgres 데이터베이스 테이블에 데이터를 어떻게 채울 수 있습니까?

data.csv :
name,price,section Aluminum Foil,8.84,miscellaneous Apples,10.81,produce

내가 열 id, name, price and section 1 개 테이블 grocery_items을 가지고 데이터베이스 grocery_store에 연결하는 노드에서 pg 모듈을 사용하고 있습니다.

const Client = require('pg').Client 
const connectionString = 'postgresql://localhost:5432/grocery_store' 
const pg = new Client({ connectionString: connectionString }) 

어떻게 할 수있는 grocery_items 테이블에 data.csv에서 나는 지금 종자 데이터?

나는 pg-copy-streams 모듈을 시도하고 그들이 수행하는 것이 좋습니다 :

var fs = require('fs'); 
var pg = require('pg'); 
var copyFrom = require('pg-copy-streams').from; 

pg.connect(function(err, client, done) { 
    var stream = client.query(copyFrom('COPY my_table FROM STDIN')); 
    var fileStream = fs.createReadStream('some_file.tsv') 
    fileStream.on('error', done); 
    fileStream.pipe(stream).on('finish', done).on('error', done); 
}); 

을하지만 난이 시도 할 때 pg.connect 함수의 오류가 아닙니다 얻었다.

+0

MySQL이 다른 제품입니다. – Shadow

+0

@ baibhavx 당신이이 일을 얻었습니까? 나는 같은 질문에 대해 호기심이 많다. –

+1

@MihirPatel'\ copy grocery_items (이름, 가격, 섹션) FROM './data.csv'DELIMITER ','CSV HEADER; '내 문제를 해결했습니다! – baibhavx

답변

1

정상적으로 작동합니다.

테이블을 만들기 : 당신의 CSV에서

CREATE TABLE my_table 
(name varchar(50), price int, section varchar(50)); 

복사 데이터가 테이블에 파일 :

COPY my_table FROM '/path/to/csv/my_table.txt' WITH (FORMAT csv); 
관련 문제