简体   繁体   English

如何在nodejs中的浏览器上打印csv文件中的数据

[英]How to print data from a csv file on a browser in nodejs

I want to read a csv file and whenever someone connects to my server it prints the content of the file in their browser.我想读取 csv 文件,每当有人连接到我的服务器时,它就会在浏览器中打印文件的内容。

I have this module called 'lecture_csv' that lets me read the file and directly print it in the terminal:我有一个名为“lecture_csv”的模块,它可以让我读取文件并直接在终端中打印它:

var csv = require('csv-parser')
var fs = require('fs')


function lecture_csv(fileName) {
    fs.createReadStream(fileName)
    .pipe(csv())
    .on('data', (row) => {
    //console.log(row)
    return row;
    })
    .on('end', () => {
    console.log('fichier lu');
    });  
}

exports.lecture_csv = lecture_csv

What I want is to print 'row' on the client browser.我想要的是在客户端浏览器上打印“行”。

However in my main:但是在我的主要:

let lecture = require('./lecture_csv');
var http = require('http');
//let app = require('./app');

var fileName = 'test_file.csv'
var string = ''
//lecture.lecture_csv(fileName);

http.createServer(function(req, res){
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.write(lecture.lecture_csv(fileName));
  res.end();
}).listen(9000);

I have an error saying I can't use res.write as the parameter in undefined instead of a string.我有一个错误说我不能使用 res.write 作为 undefined 中的参数而不是字符串。 Is there a way to get 'row' and print it on the client browser?有没有办法获取“行”并将其打印在客户端浏览器上?

I am still very new to nodejs therefore any tips is welcomed.我对 nodejs 还是很陌生,因此欢迎任何提示。

You have to read file and send its contents,like below您必须读取文件并发送其内容,如下所示

let lecture = require('./lecture_csv');
let fs=require("fs");
var http = require('http');
var fileName = './test_file.csv'
var string = ''
//lecture.lecture_csv(fileName);

http.createServer(function(req, res){

   fs.readFile(fileName, 'utf8', function(err, contents) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
     res.write(contents);
     res.end();
});

}).listen(9000);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM