NodeJS,获取目录的名称

时间:2018-03-09 14:44:00

标签: mysql node.js csv

我对NodeJS很新,所以欢迎任何帮助!

我可以读取目录中的所有文件。它显示了我的所有文件名和扩展名。所有文件都是* .csv。

像这样:

var fs = require('fs');
var junk = require('junk');
var csv = require('fast-csv');

const diretorio = 'download';
const nomeArquivo = diretorio

let dirBuf = Buffer.from(diretorio);

let arquivos = fs.readdirSync(diretorio);
    console.log(arquivos.filter(junk.not));
    arquivos.filter(junk.not).forEach(file => {
        var conteudo = fs.readFile(dirBuf, 'utf8', function(){  
        });
  });

现在,我想在循环中打开每个文件以将数据插入到mysql中:

var stream = fs.createReadStream(diretorio + "/Notify_273_exp_complete_2018-01-18 19.15.25.csv");

csv
 .fromStream(stream, {headers : false},{ignoreEmpty: true})
 .on("data", function(data){
     console.log(data);
 })
 .on("end", function(){
     console.log("done");
 });

所以,我可以读取目录上的所有文件并阅读内容但不是同一时间。 我需要做的是:

将文件名放入var:

var stream = fs.createReadStream(diretorio + filename);

因此脚本会读取所有文件,然后将内容插入表中。我与MySQL的连接:

// CONECTION WITH MYSQL
var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "*****",
  password: "******",
  database: "*******"
});

con.connect(function(err) {
    if (err) throw err;
    console.log("Connected!");
});
// END CONNECTION

最后。这是我的逻辑吗?还有另一种方法吗? 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

这家伙用这个来救我的命 https://code-maven.com/list-content-of-directory-with-nodejs

var fs = require('fs');
var junk = require('junk');
var csv = require('fast-csv');

const diretorio = 'download';
const nomeArquivo = diretorio

fs.readdir(nomeArquivo, function(err, items) {
    // console.log(items.filter(junk.not));

    for (var i=0; i<items.length; i++) {
        nome = items[i];
        var stream = fs.createReadStream(diretorio + '/' + nome);
    csv
     .fromStream(stream, {headers : false},{ignoreEmpty: true})
     .on("data", function(data){
         console.log(data);
     })
     .on("end", function(){
         console.log("done");
     });
    }
});

在终端上像微风一样奔跑! 现在只需要将数据保存到数据表中!