嘿伙计们我不能在nodejs中实现什么能解析从csv到postgresql表的数据。你可以帮忙解决这个问题吗?
我试图使用csv-stream库并且可以在控制台中获取数据,但是如何导入postgresql不知道。
var csvStream = csv.createStream(options);
fs.createReadStream(process.argv[2]).pipe(csvStream)
.on('error', function (err) {
console.error(err);
})
.on('data', function (data) {
// outputs an object containing a set of key/value pair representing a line found in the csv file.
// console.log(data);
})
.on('column', function (key, value) {
// outputs the column name associated with the value found
// console.log('#' + key + ' = ' + value);
console.log('# ' + value);
})
更新
var pg = require("pg");
var conString = "pg://admin:guest@localhost:5432/Employees";
var client = new pg.Client(conString);
client.connect();
var query = client.query("SELECT firstname, lastname FROM emps ORDER BY lastname, firstname");
现在我如何将这个选择查询转到csv?
更新0.1
var pg = require('pg');
var csv = require('csv');
var csvWriter = require('csv-write-stream')
var conString = "pg://admin:admin@localhost:5432/labels";
var client = new pg.Client(conString);
client.connect();
var sql = "COPY test TO 'personss.csv' DELIMITER ',' CSV HEADER;"
var query = client.query("SELECT firstname, lastname FROM test ORDER BY lastname, firstname");
query.on("row", function (row, result) {
result.addRow(row);
});
query.on("end", function (result) {
console.log((result.rows, null, " "));
client.end();
});
现在我可能需要在result.row中执行每个循环。