Я пытаюсь очистить некоторые данные и экспортировать результат в файл CSV. (* Я использую узел-осмос)
Я вижу результат в терминале, но не могу экспортировать результат в файл CSV ..
очищенные данные
кажется, что очищенные данные (определенные как 'res' в функции) существуют только в функции осмоса (называемой marketValue).
мой код генерирует файл CSV, но файл приходит ни с чем (* набираются только имена столбцов)
CSV экспортировано
Что мне здесь не хватает?
мой код указан ниже:
const osmosis = require('osmosis');
const fs = require('fs')
const urls = 'https://www.transfermarkt.com/spieler-statistik/wertvollstespieler/marktwertetop?land_id=0&ausrichtung=alle&spielerposition_id=alle&altersklasse=alle&jahrgang=0&kontinent_id=0&plus=1'
const converter = require('json2csv')
var stringify = require('csv-stringify')
function marketValue() {
return new Promise((resolve, reject) => {
let response;
osmosis
.get(urls)
.find('table.items:first tr:gt(0)')
.set({
Player_Rank : 'td.zentriert',
Player_Name : 'tr[1]',
Player_Age: 'td[3]',
Position : 'tr[2]',
Market_Value : 'td[6]',
Matches: 'td[7]',
Goals: 'td[8]',
Own_Goals: 'td[9]',
Assists: 'td[10]',
Yello_Cards: 'td[11]',
Second_Yello_Cards: 'td[12]',
Red_Cards: 'td[13]',
Subs_On: 'td[14]',
Subs_Off: 'td[15]'
})
.data(res => response = res)
.error(err => reject(err))
.done(() => resolve(response));
})
}
marketValue().then(res => {
console.log(res);
var fields =['Player_Rank', 'Player_Name', 'Player_Age', 'Position', 'Market_Value', 'Matches', 'Goals', 'Own_Goals', 'Assists', 'Yello_Cards', 'Second_Yello_Cards', 'Red_Cards', 'Subs_On', 'Subs_Off']
var parser = new converter.Parser({ fields })
var csvstr = parser.parse(res);
fs.writeFileSync('./tempcsv.csv', csvstr);
})