Node.js 如何处理在线csv文件,如;http://.../data.csv?para1=...&para2=…”;使用节点js

Node.js 如何处理在线csv文件,如;http://.../data.csv?para1=...&para2=…”;使用节点js,node.js,csv,Node.js,Csv,我最近尝试使用node js从其他网站(如yahoo finance)收集一些数据,其中一个url类似于“”,如果我将此url放入浏览器,将弹出一个提示。 在我的节点代码中,将找不到此url var fs=require('fs'); var http=require('http'); var url=require('url'); var csv=要求(“快速csv”); //var FILENAME=“file/table.csv”; 变量文件名=”http://real-chart.fin

我最近尝试使用node js从其他网站(如yahoo finance)收集一些数据,其中一个url类似于“”,如果我将此url放入浏览器,将弹出一个提示。 在我的节点代码中,将找不到此url

var fs=require('fs');
var http=require('http');
var url=require('url');
var csv=要求(“快速csv”);
//var FILENAME=“file/table.csv”;
变量文件名=”http://real-chart.finance.yahoo.com/table.csv?s=AAPL&a=11&b=12&c=1999&d=01&e=4&f=2016&g=d&ignore=.csv";
函数fast\u csv\u read(文件名)
{
csv.fromPath(文件名)
.on(“数据”),功能(数据){
日志(“当前数据:”);
控制台日志(数据);
})
.on(“结束”,函数(){
控制台日志(“完成读取”);
});
}
快速读取(文件名);
如果我使用浏览器下载此文件并将其保存在“file/table.csv”中,则效果良好。
不知道出了什么问题…

。fromPath
只接受文件路径,不接受URL。

您必须首先自己从URL检索文档,并通过以下方式之一将其内容提供给
快速csv
模块:

  • 将文档内容传递到
    .fromString()
  • 将可读流传递给
    .fromStream()
  • 通过管道将可读流传输到
    .parse()
提供了从URL返回可读流的方便方法;使用
npm-保存安装请求安装它

例如,将可读流传递给
.fromStream()
,如下所示:

#!/usr/bin/env node

var csv = require( "fast-csv" );

// Require the 'request' module.
// Install it with `npm install --save request`.
var request = require('request');

var URL = "http://real-chart.finance.yahoo.com/table.csv?s=AAPL&a=11&b=12&c=1999&d=01&e=4&f=2016&g=d&ignore=.csv";

function fast_csv_read_url(url)
{
    // Let request return the document pointed to by the URL
    // as a readable stream, and pass it to csv.fromStream()
    csv.fromStream(request(url))
      .on("data", function(data){
        console.log("current data: ");
        console.log(data);
      })
      .on("end", function(){
        console.log("done reading");
      });
}

fast_csv_read_url(URL);

.fromPath
只接受文件路径,不接受URL。

您必须首先自己从URL检索文档,并通过以下方式之一将其内容提供给
快速csv
模块:

  • 将文档内容传递到
    .fromString()
  • 将可读流传递给
    .fromStream()
  • 通过管道将可读流传输到
    .parse()
提供了从URL返回可读流的方便方法;使用
npm-保存安装请求安装它

例如,将可读流传递给
.fromStream()
,如下所示:

#!/usr/bin/env node

var csv = require( "fast-csv" );

// Require the 'request' module.
// Install it with `npm install --save request`.
var request = require('request');

var URL = "http://real-chart.finance.yahoo.com/table.csv?s=AAPL&a=11&b=12&c=1999&d=01&e=4&f=2016&g=d&ignore=.csv";

function fast_csv_read_url(url)
{
    // Let request return the document pointed to by the URL
    // as a readable stream, and pass it to csv.fromStream()
    csv.fromStream(request(url))
      .on("data", function(data){
        console.log("current data: ");
        console.log(data);
      })
      .on("end", function(){
        console.log("done reading");
      });
}

fast_csv_read_url(URL);