gpt4 book ai didi

javascript - 如何读取 csv 文件以将其转换为 Json 对象?

转载 作者:行者123 更新时间:2023-11-29 23:16:04 25 4
gpt4 key购买 nike

我正在使用 fs.readFile 读取一个文件,然后我试图将它分成一个具有相应键和值的对象。键是:代理、时间、方法、资源、版本、状态

值对应于此:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML like 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"
},

我希望能够为我收到的每一行数据编写生成上述对象的代码。

到目前为止我得到了这个:

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 循环遍历每一行以便将其拆分?但我是一个菜鸟,正在挣扎。预先感谢您的帮助!

最佳答案

This GitHub gist应该帮你解决!由于您已经阅读了 CSV 文件,因此您可能只需要执行以下操作:

  var result = [];

var headers=lines[0].split(",");

for(var i=1;i<lines.length;i++){

var obj = {};
var currentline=lines[i].split(",");

for(var j=0;j<headers.length;j++){
obj[headers[j]] = currentline[j];
}

result.push(obj);

}

// result is now a javascript object here

关于javascript - 如何读取 csv 文件以将其转换为 Json 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52731132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com