تُرجع fast-csv بيانات غير محددة عندما تكون الرؤوس صحيحة

0

أواجه مشكلة صغيرة في ملف csv السريع. وتلك المشكلة هي أنه عندما أضبط الرؤوس على "صحيح" ، أحصل على بيانات "غير محددة" (ويتم دفع البيانات الفارغة فقط إلى قاعدة البيانات).

const db = require("../models");
const fs = require("fs");
const csv = require("fast-csv");
const csvfile = "./public/csv/vendor_example.csv";
const stream = fs.createReadStream(csvfile);

router.get("/import_data", (req, res, next) => {
  // csv.fromStream(stream, { headers: true });
  var csvStream = csv(stream, { headers: true })
    .on("data", function(data) {
      // products.push(data);
      var imported_data = new db.Products({
        // date: new Date(),
        column1: data[0]
      });

      imported_data.save(error => {
        console.log(skus_data);
        if (error) {
          throw error;
        }
      });
    })
    .on("end", function() {
      console.log("ended");
    });

  stream.pipe(csvStream);

  // res.json({ success: "Data Imported", status: 200 });
  res.json({
    success: "Data imported with no errors",
    status: 200
  });
});

ومع ذلك ، عندما أزيل "stream، {headers: true}" ، فإنه يعمل ، ولكن يتم دفع الرؤوس إلى قاعدة البيانات.

أي أفكار حول كيفية حل هذه المشكلة؟

شكرا لكم!

1 إجابة

0

اكتشفه.

  var imported_data = new db.Products({
    // date: new Date(),
    column1: data[0]
  });

بدلاً من البيانات [0] ، كنت بحاجة إلى تحديد اسم الرأس ، على سبيل المثال:

العمود 1: data.names

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام