gpt4 book ai didi

javascript - 如何使用 Papa Parse 在 CasperJS 中解析 CSV?

转载 作者:行者123 更新时间:2023-11-30 10:08:11 27 4
gpt4 key购买 nike

我正在尝试使用 papa parse 在 CasperJS 中加载和解析一个 csv 文件。

这是该任务的代码

var casper = require('casper').create({   
verbose: true,
logLevel: 'debug',
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0',
pageSettings: {
loadImages: true,
loadPlugins: false,
webSecurityEnabled: false
},
clientScript: [
'jquery-2.1.3.min.js',
'jquery.csv-0.71.min.js',
'papaparse.min.js'
],

viewportSize: {
width: 1440,
height: 900
}
});

var fs = require('fs');

casper.on('remote.message', function(msg) {
this.echo('remote message caught: ' + msg);
});

casper.start();

casper.then(function(){

var input = fs.read('order4.csv');

var config = {
delimiter: "", // auto-detect
newline: "", // auto-detect
header: true,
dynamicTyping: false,
preview: 0,
encoding: "",
worker: false,
comments: false,
step: undefined,
complete: undefined,
error: undefined,
download: false,
skipEmptyLines: true,
chunk: undefined,
fastMode: undefined
}

var a = {'config' : config, 'input' : input}

/* var result = this.evaluate(function(input) {
//console.log(input);
var results = jquery.csv.toObjects(input);
console.log(results);
return results;
},input);*/

//var result = Papa.parse(a['input'],a['config']);


var result = this.evaluate(function(a) {
console.log('111111111111111111111' + a['input']);
var results = Papa.parse(a['input'],a['config']);
console.log('2222222222222222222' + results);

return results;
},a);

this.echo('333333333333333' + result);
});

casper.run();
evaluate 中的

$input 是可见的,但是 $results 和最后的 $result 都是空的命令。

有没有更好的方法在 CasperJS 中加载和解析 csv 文件。如何在 evaluate() 之外调用 Papa.parse,因为我只想加载本地 csv 文件。

最佳答案

Papa Parse 似乎在外部上下文中工作,因此您不需要evaluate 来使用它。

这是一个完整的脚本:

var fs = require('fs');
eval(fs.read('papaparse.min.js'));

var config = {
delimiter: "", // auto-detect
newline: "", // auto-detect
header: true,
dynamicTyping: false,
preview: 0,
encoding: "",
worker: false,
comments: false,
step: undefined,
complete: undefined,
error: undefined,
download: false,
skipEmptyLines: true,
chunk: undefined,
fastMode: undefined
};

console.log(JSON.stringify(Papa.parse(fs.read('order4.csv'), config), undefined, 4));

phantom.exit();

请注意,如果您知道 papaparse.min.js 实际上做了它应该做的事情,那么在这种情况下 eval 并不是邪恶的。

关于javascript - 如何使用 Papa Parse 在 CasperJS 中解析 CSV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28030299/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com