Javascript 从csv文件分割
我有一个CSV文件,其中包含以下行: 纽约市1号,8175133,40.71455,-74.007124 洛杉矶市2号,3792621,34.05349,-118.245323 我正在使用此方法拆分它:Javascript 从csv文件分割,javascript,csv,Javascript,Csv,我有一个CSV文件,其中包含以下行: 纽约市1号,8175133,40.71455,-74.007124 洛杉矶市2号,3792621,34.05349,-118.245323 我正在使用此方法拆分它: function processData(csv) { var allTextLines = csv.split(/\r\n|\n/); var lines = []; while (allTextLines.length) { lines.push(al
function processData(csv) {
var allTextLines = csv.split(/\r\n|\n/);
var lines = [];
while (allTextLines.length) {
lines.push(allTextLines.shift().split(','));
}
console.log(lines);
drawOutput(lines);
}
但它不像我想要的那样工作。我只想要一部分线,而不是整条线:
lines[0] = New York City, 40.71455, -74.007124
lines[1] = Los Angeles city, 34.05349, -118.245323
可能吗?我怎么能那样分呢?我已经尝试了一些方法,但还没有找到一个好的方法 最简单的解决方案如下:
while (allTextLines.length) {
var line = allTextLines.shift().split(',');
lines.push([line[1], line[3], line[4]]);
}
lines.push({city: line[1], lat: line[3], lon: line[4]});
因为您只需要原始数据中的第二、第四和第五个元素
但是,您可以通过以下方式使访问变得更容易:
while (allTextLines.length) {
var line = allTextLines.shift().split(',');
lines.push([line[1], line[3], line[4]]);
}
lines.push({city: line[1], lat: line[3], lon: line[4]});
这将导致如下结果:
lines[0] === {city: "New York City", lat: 40.71455, lon: -74.007124}
lines[1] === {city: "Los Angeles city", lat: 34.05349, lon: -118.245323}
这意味着您可以只使用:行[0]。城市
或者,如果您只想将这3个“元素”作为字符串:
lines.push(line[1] + ', ' + line[3] + ', ' + line[4]);
导致:
lines[0] === "New York City, 40.71455, -74.007124";
lines[1] === "Los Angeles city, 34.05349, -118.245323";
@海森堡:太好了,谢谢!你真的需要我给出的第一个建议,还是另外两个建议中的一个?第一个就足够了,因为我永远不会显示数据,我只会用它来指出谷歌地图中的位置