使用JavaScript读取*.csv文件
Reading *.csv file using JavaScript
我有一个csv文件,它具有以下数据格式:
2001:200::,2001:200:ffff:ffff:ffff:ffff:ffff:ffff,
42540528726795050063891204319802818560,42540528806023212578155541913346768895,JP,,,36.0000,138.0000,,0,0
2001:208::,2001:208:ffff:ffff:ffff:ffff:ffff:ffff,
42540529360620350178005905068154421248,42540529439848512692270242661698371583,SG,,,1.3667,103.8000,,0,0
我只想分析该记录的第一个逗号(IPv6地址)和lat/long(第一条记录中的36.0000138.0000)值之后的项。
如何使用JavaScript/jQuery来完成此操作?
使用split方法将字符串转换为数组,然后根据需要对其进行迭代。
var csv = "2001:200::,2001:200:ffff:ffff:ffff:ffff:ffff:ffff,4254052872679505006389120431980'n2818560,42540528806023212578155541913346768895,JP,,,36.0000,138.0000,,0,0";
var myArray = csv.split("'n");//You should know what kind of new line your csv is using
myArray.map(function (e) { //Applies this function over each element of myArray that is each line of your csv
var line = e.split(","); //Turn the comma separated string into an array
return "The second element is: " + line[1]; //Do what you need
});
在任何语言中都是如此。首先打开文件。逐行阅读。拆分逗号上的每一行。使用数组的索引可以获得所需的值。
jQuery.get('file.csv', function(data) {
alert(data); // this is a line
var tempArray = data.split(','); // array of data
for(var i = 0; i < tempArray.length; i++)
{
console.log(tempArray[i]); // probably index 1 is your IPv6 address.
}
});
或者只使用CSV库,我建议使用PapaParse(浏览器)或BabyParse(NodeJS)
以下是您的操作:
$.ajax({
type: "GET",
url: "data.csv",
success: function (data) {
var data = Papa.parse(data);
var output = {
"IPv6" : data.data[0][1],
"coordinates" : [data.data[1][5], data.data[1][6]]
} /* -> These are the values you're looking for! */
}
});
因为我无法演示AJAX(由于跨域脚本问题),我将在下面演示success
函数!
Demo
var data = '2001:200::,2001:200:ffff:ffff:ffff:ffff:ffff:ffff,'+ "'n" +
'42540528726795050063891204319802818560,42540528806023212578155541913346768895,JP,,,36.0000,138.0000,,0,0'+ "'n'n" +
'2001:208::,2001:208:ffff:ffff:ffff:ffff:ffff:ffff,'+ "'n" +
'42540529360620350178005905068154421248,42540529439848512692270242661698371583,SG,,,1.3667,103.8000,,0,0';
var success = function (data) {
var data = Papa.parse(data);
return output = {
"IPv6" : data.data[0][1],
"coordinates" : [data.data[1][5], data.data[1][6]]
}
}
document.body.innerHTML = '<pre>' + JSON.stringify(success(data), null, 2) + '</pre>';
<script src="https://cdnjs.cloudflare.com/ajax/libs/PapaParse/4.1.2/papaparse.js"></script>
相关文章:
- 通过CSV文件上载更新数据库表
- 在.csv文件中写入学位符号
- PERL-下载CSV文件不完整
- 将CSV文件从URL导入Node.js
- Get方法获取csv文件的内容
- 将JSON转换为放入Sdcard中的CSV文件
- 如何使用d3.js从csv文件中绘制areaplot?请任何人分享代码
- 正在以javascript读取本地csv文件
- 处理字段中带有换行符的csv文件-node.js
- 如何将CSV数据从变量下载到CSV文件
- Safari 5.1.7下载文件名未知的csv文件
- 如何读取csv文件并将其转换为javascript中的对象
- 尝试从csv文件中检索单个值时出现问题
- 如何用javascript下载巨大的CSV文件
- 在将csv文件中的数据分配给数组变量时增强了d3代码
- 如何使用javascript更新csv文件
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 将Excel/CSV文件中的数据导入angularjs-json对象中
- 正在读取高图表中上载的csv文件
- 如何使用 Java 脚本从 csv 文件中查找每列的数据类型