【发布时间】:2021-04-09 05:59:12
【问题描述】:
我正在使用 newman 库运行数据驱动的邮递员集合。我正在尝试将每个数据集的“成本”值写入 CSV,在第 4 列(下面的示例 CSV)。
我使用事件“请求”提取了“成本”值,并创建了一个函数将该值写入 csv。
}).on('request', (error, data) => {
if (error) {
throw error;
}
var costReturned = JSON.parse(data.response.stream.toString()).cost;
returnCost(costReturned );
});
function returnCost(costReturned){
fs.readFile('./testcsv.csv','utf8', (error, data) => {
if (error) {
throw error;
}
const jsonData = papa.parse(data, { header: true });
jsonData.data.map((item, index) => item.cost = costReturned[index]);
const returnedCostsCSV = papa.unparse(jsonData.data);
fs.writeFile('./returnedCosts.csv', returnedCostsCSV, (error) => {
if (error) {
throw error;
}
});
但是,我收到此错误。我不确定是否需要创建一个循环来遍历每个数据集并在每行中为每个请求写入成本,或者是否有其他方法。
jsonData.data.map((item, index) => item.cost= costReturned[index]);
TypeError: Cannot read property '0' of undefined
CSV,
ID,name,address,cost
1,test1, 233 homes street,-
2, test2, 244 highem road,-
3, test3, 1 high str,-
Example Response body:
{
"cost": 48.00,
"min": 4.000,
"max": 266.95
}
谢谢。
【问题讨论】:
-
需要一个数组吗?
-
@PDHide - 不,在运行时为从 csv 导入的每个数据集捕获成本。
-
costReturned[index] 如果 index 不是数组,为什么会调用它。在将 costReturned 传递给函数之前还要打印它,看看它是否真的在检索它
-
谢谢 - 问题是我没有将返回的成本传递到数组中。 ??????????