Ich versuche, Daten aus einer CSV-Datei in eine psql-Tabelle zu seed. Dies ist die Setup:Wie werden Daten aus einer CSV-Datei in eine Postgres-Datenbanktabelle eingefügt?
data.csv:
name,price,section Aluminum Foil,8.84,miscellaneous Apples,10.81,produce
Ich bin mit dem pg
Modul in Knoten Verbindung zur Datenbank grocery_store
, die 1 Tabelle id, name, price and section
grocery_items
mit Spalten.
const Client = require('pg').Client
const connectionString = 'postgresql://localhost:5432/grocery_store'
const pg = new Client({ connectionString: connectionString })
Wie kann ich jetzt Samen Daten aus data.csv
in den grocery_items
Tisch?
Ich habe versucht, das pg-copy-streams
Modul und schlagen sie vor, zu tun:
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);
});
Aber ich habe pg.connect
keine Funktion Fehler ist, wenn ich das versucht.
Mysql ein anderes Produkt. – Shadow
@baibhavx hast du das zur Arbeit gebracht? Ich bin neugierig auf die gleiche Frage. –
@MihirPatel '\ kopiere grocery_items (Name, Preis, Abschnitt) FROM './data.csv' DELIMITER ',' CSV HEADER;' löste mein Problem! – baibhavx