Node.js 使用nodejs将csv表转换为postgresql数据库

Node.js 使用nodejs将csv表转换为postgresql数据库,node.js,postgresql,csv,Node.js,Postgresql,Csv,嘿,伙计们,我不能在nodejs中实现这个函数,它可以将数据从csv解析到postgresql表。你能帮我回答这个问题吗 我正在尝试使用csv流库,可以在控制台中获取数据,但是如何导入postgresql还不知道 var csvStream = csv.createStream(options); fs.createReadStream(process.argv[2]).pipe(csvStream) .on('error', function (err) { console.error(e

嘿,伙计们,我不能在nodejs中实现这个函数,它可以将数据从csv解析到postgresql表。你能帮我回答这个问题吗

我正在尝试使用csv流库,可以在控制台中获取数据,但是如何导入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");
现在,我如何将这个select查询转换为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中执行每个循环。

您将在注释中听到
COPY
),同时看看@VaoTsun,它的
COPY
实现有缺陷且支持不足;)我过去做得很好,而且不止一次,但是在这个周末之前,我没有机会给出一个正确的答案。基本上,您可以分批提取CSV记录,并通过生成多行插入,将它们插入相同的批(1对1)。此外,您还可以根据需要选择将这些内容打包到事务中。我们可以使用Copy test将多个insert语句直接流式传输到postgres中,而不是csv!