TypeError: csv.fromPath is not a function (convert csv file to sha1 script)
TypeError: csv.fromPath is not a function (convert csv file to sha1 script)
我正在尝试执行读取 CSV 文件的示例脚本。然后将数据做成 SHA1 散列。我从这个 git:
复制了样本
https://gist.github.com/cdurth/6735c82cd11c5a057bd4
我收到这个错误:
C:\Users\test\Desktop\convert\csvParseToSha1.js:14
.fromPath(inputFile)
^
TypeError: csv.fromPath is not a function
at Object.<anonymous> (C:\Users\Nope\Desktop\convert\csvParseToSha1.js:14:3)
at Module._compile (internal/modules/cjs/loader.js:1156:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)
at Module.load (internal/modules/cjs/loader.js:1000:32)
at Function.Module._load (internal/modules/cjs/loader.js:899:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
at internal/main/run_main_module.js:18:47
示例代码:
var fs = require('fs');
var csv = require("fast-csv");
var sha1 = require('sha1');
var inputFile = 'emailList.csv';
var outputFile = 'sha1List.csv';
var csvStream = csv.format({headers: false}),
writableStream = fs.createWriteStream(outputFile);
csvStream.pipe(writableStream);
csv
.fromPath(inputFile)
.on("data", function(data){
var hashed = sha1(data[0])
csvStream.write([hashed]);
})
.on("end", function(){
csvStream.end();
console.log("done");
});
fast-csv 版本为 4.1.3
对于 'fast-csv' 版本 >= 3.0.0 :- fromPath 已弃用
https://github.com/C2FO/fast-csv/blob/master/History.md#v300
所以我已经将 csv.fromPath() 更改为 csv.parseFile()
var fs = require('fs');
var csv = require("fast-csv");
var sha1 = require('sha1');
var inputFile = 'emailList.csv';
var outputFile = 'sha1List.csv';
var csvStream = csv.format({headers: false}),
writableStream = fs.createWriteStream(outputFile);
csvStream.pipe(writableStream);
csv
.parseFile()(inputFile)
.on("data", function(data){
var hashed = sha1(data[0])
csvStream.write([hashed]);
})
.on("end", function(){
csvStream.end();
console.log("done");
});
现在我明白了:
internal/fs/utils.js:535
throw new ERR_INVALID_ARG_TYPE(propName, ['string', 'Buffer', 'URL'], path);
^
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of Buffer or URL. Received undefined
at Object.open (fs.js:424:10)
at ReadStream.open (internal/fs/streams.js:127:6)
at new ReadStream (internal/fs/streams.js:115:10)
at Object.createReadStream (fs.js:1820:10)
at Object.exports.parseFile (C:\Users\Nope\node_modules\@fast-csv\parse\build\src\index.js:24:52)
at Object.<anonymous> (C:\Users\Nope\Desktop\convert\csvParseToSha1.js:14:3)
at Module._compile (internal/modules/cjs/loader.js:1156:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)
at Module.load (internal/modules/cjs/loader.js:1000:32)
at Function.Module._load (internal/modules/cjs/loader.js:899:14) {
code: 'ERR_INVALID_ARG_TYPE'
}
我正在尝试执行读取 CSV 文件的示例脚本。然后将数据做成 SHA1 散列。我从这个 git:
复制了样本https://gist.github.com/cdurth/6735c82cd11c5a057bd4
我收到这个错误:
C:\Users\test\Desktop\convert\csvParseToSha1.js:14
.fromPath(inputFile)
^
TypeError: csv.fromPath is not a function
at Object.<anonymous> (C:\Users\Nope\Desktop\convert\csvParseToSha1.js:14:3)
at Module._compile (internal/modules/cjs/loader.js:1156:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)
at Module.load (internal/modules/cjs/loader.js:1000:32)
at Function.Module._load (internal/modules/cjs/loader.js:899:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
at internal/main/run_main_module.js:18:47
示例代码:
var fs = require('fs');
var csv = require("fast-csv");
var sha1 = require('sha1');
var inputFile = 'emailList.csv';
var outputFile = 'sha1List.csv';
var csvStream = csv.format({headers: false}),
writableStream = fs.createWriteStream(outputFile);
csvStream.pipe(writableStream);
csv
.fromPath(inputFile)
.on("data", function(data){
var hashed = sha1(data[0])
csvStream.write([hashed]);
})
.on("end", function(){
csvStream.end();
console.log("done");
});
fast-csv 版本为 4.1.3
对于 'fast-csv' 版本 >= 3.0.0 :- fromPath 已弃用
https://github.com/C2FO/fast-csv/blob/master/History.md#v300
所以我已经将 csv.fromPath() 更改为 csv.parseFile()
var fs = require('fs');
var csv = require("fast-csv");
var sha1 = require('sha1');
var inputFile = 'emailList.csv';
var outputFile = 'sha1List.csv';
var csvStream = csv.format({headers: false}),
writableStream = fs.createWriteStream(outputFile);
csvStream.pipe(writableStream);
csv
.parseFile()(inputFile)
.on("data", function(data){
var hashed = sha1(data[0])
csvStream.write([hashed]);
})
.on("end", function(){
csvStream.end();
console.log("done");
});
现在我明白了:
internal/fs/utils.js:535
throw new ERR_INVALID_ARG_TYPE(propName, ['string', 'Buffer', 'URL'], path);
^
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of Buffer or URL. Received undefined
at Object.open (fs.js:424:10)
at ReadStream.open (internal/fs/streams.js:127:6)
at new ReadStream (internal/fs/streams.js:115:10)
at Object.createReadStream (fs.js:1820:10)
at Object.exports.parseFile (C:\Users\Nope\node_modules\@fast-csv\parse\build\src\index.js:24:52)
at Object.<anonymous> (C:\Users\Nope\Desktop\convert\csvParseToSha1.js:14:3)
at Module._compile (internal/modules/cjs/loader.js:1156:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)
at Module.load (internal/modules/cjs/loader.js:1000:32)
at Function.Module._load (internal/modules/cjs/loader.js:899:14) {
code: 'ERR_INVALID_ARG_TYPE'
}