如何将值设置为 csv 文件中的变量 (node.js)
How to set a value to a variable from a csv file (node.js)
我正在尝试从存储在 csv 文件中的数字列表中 return 一个随机值。但是,当尝试解析 csv 并设置一个值时,承诺是 returned 而不是值。
const fs = require('fs')
async function getRemainingItem() {
await fs.readFileSync('remaining-items.csv', 'utf8', (err, data) => {
if (err) {}
let linesExceptFirst = data.split('\n').slice(1)
let num = Math.floor(Math.random() * linesExceptFirst.length)
let linesArr = linesExceptFirst.map(line=>line.split(','))
return linesArr[num][0]
});
}
let item = getRemainingItem()
console.log(item)
如何从包含数字列表的 csv 中 return 随机数?
您正在使用 readFileSync
方法,await
不需要。
const fs = require('fs')
function getRemainingItem() {
const data = fs.readFileSync('remaining-items.csv', 'utf8');
const linesExceptFirst = data.split('\n').slice(1);
const num = Math.floor(Math.random() * linesExceptFirst.length);
const linesArr = linesExceptFirst.map(line=>line.split(','));
return linesArr[num][0];
}
const item = getRemainingItem();
console.log(item);
如果你想异步读取文件而不阻塞执行过程,那么可以这样做:
const fs = require('fs');
const fsp = fs.promises;
async function getRemainingItem() {
const data = await fsp.readFile('remaining-items.csv', 'utf8');
const linesExceptFirst = data.split('\n').slice(1);
const num = Math.floor(Math.random() * linesExceptFirst.length);
const linesArr = linesExceptFirst.map(line=>line.split(','));
return linesArr[num][0];
}
async function main() {
const item = await getRemainingItem();
console.log(item);
}
main();
我正在尝试从存储在 csv 文件中的数字列表中 return 一个随机值。但是,当尝试解析 csv 并设置一个值时,承诺是 returned 而不是值。
const fs = require('fs')
async function getRemainingItem() {
await fs.readFileSync('remaining-items.csv', 'utf8', (err, data) => {
if (err) {}
let linesExceptFirst = data.split('\n').slice(1)
let num = Math.floor(Math.random() * linesExceptFirst.length)
let linesArr = linesExceptFirst.map(line=>line.split(','))
return linesArr[num][0]
});
}
let item = getRemainingItem()
console.log(item)
如何从包含数字列表的 csv 中 return 随机数?
您正在使用 readFileSync
方法,await
不需要。
const fs = require('fs')
function getRemainingItem() {
const data = fs.readFileSync('remaining-items.csv', 'utf8');
const linesExceptFirst = data.split('\n').slice(1);
const num = Math.floor(Math.random() * linesExceptFirst.length);
const linesArr = linesExceptFirst.map(line=>line.split(','));
return linesArr[num][0];
}
const item = getRemainingItem();
console.log(item);
如果你想异步读取文件而不阻塞执行过程,那么可以这样做:
const fs = require('fs');
const fsp = fs.promises;
async function getRemainingItem() {
const data = await fsp.readFile('remaining-items.csv', 'utf8');
const linesExceptFirst = data.split('\n').slice(1);
const num = Math.floor(Math.random() * linesExceptFirst.length);
const linesArr = linesExceptFirst.map(line=>line.split(','));
return linesArr[num][0];
}
async function main() {
const item = await getRemainingItem();
console.log(item);
}
main();