Я читаю файл, используя fs.readFile
, затем пытаюсь разделить его на объект с соответствующим ключом и значением.Ключи: Агент, Время, Метод, Ресурс, Версия, Статус
Значения соответствуют этому: Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit / 537.36 (KHTML как Gecko) Chrome / 69.0.3497.81 Safari / 537.36,2018-10-09T23: 31: 00.080Z, GET, / logs, HTTP / 1.1,200
(через запятую).
Для каждой строки, которая выглядит следующим образом:
Agent,Time,Method,Resource,Version,Status
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML like Gecko) Chrome/58.0.3029.110 Safari/537.36,2017-06-26T22:39:51.400Z,GET,/,HTTP/1.1,200
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:53.0) Gecko/20100101 Firefox/53.0,2017-06-26T22:40:05.401Z,GET,/,HTTP/1.1,200
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:53.0) Gecko/20100101 Firefox/53.0,2017-06-26T22:40:05.448Z,GET,/favicon.ico,HTTP/1.1,200
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:53.0) Gecko/20100101 Firefox/53.0,2017-06-26T22:40:05.468Z,GET,/favicon.ico,HTTP/1.1,200
как я могу назначить их ключам объекта, чтобы она выглядела так:
{
"Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML like Gecko) Chrome/58.0.3029.110 Safari/537.36",
"Time": "2017-06-26T22:39:51.400Z",
"Method": "GET",
"Resource": "/",
"Version": "HTTP/1.1"
"Status": "200"
},
Iхочу иметь возможность писать код, который делает объект выше, для каждой строки данных, которые я получаю.
Пока у меня есть это:
fs.readFile('./log.csv','utf-8', function (err, data) {
if (err) throw err;
var lines = data.split('\n'); //splits my data into substrings that are in one big array.
Это разбивает каждую строку, в которую я попадаюгигантский массив, но потом я потерян .... Я представляю, что могу использовать цикл for, чтобы пройти каждую строку, чтобы разделить ее?Но я нуб и изо всех сил.Заранее спасибо за помощь!