所以我编写了一个程序来获取两个包含来自域的水位数据的CSV文件。数据存储为对象数组,然后添加到我页面上的两个表中。
我使用JQuery CSV来解析文件。
我遇到的问题是文件格式不是很好(见下文),导致某些数据以未定义的形式返回。我知道其他一切正常,因为我得到的表格中有一些数据显示正确。
有没有人知道我应该在我的代码中做些什么来解决这个问题,以便正确存储水位?
CSV文件令人讨厌的格式化示例(下面的前两行实际上全部在CSV中的一行:
ID,Date,Water Level / Niveau d'eau (m),Grade,Symbol / symbole,QA/QC,Discharge / Débit (cms),Grade,Symbol / Symbole,QA/QC
08MG022,2015-07-22T00:00:00-08:00,9.440,,,1,0.000,,,1
08MG022,2015-07-22T00:05:00-08:00,9.435,,,1,0.000,,,1
08MG022,2015-07-22T00:10:00-08:00,9.436,,,1,0.000,,,1
08MG022,2015-07-22T00:15:00-08:00,9.439,,,1,0.000,,,1
08MG022,2015-07-22T00:20:00-08:00,9.433,,,1,0.000,,,1
08MG022,2015-07-22T00:25:00-08:00,9.441,,,1,0.000,,,1
08MG022,2015-07-22T00:30:00-08:00,9.439,,,1,0.000,,,1
我的代码:
$(function() {
$.ajax({
type: "GET",
url: "http://crossorigin.me/http://dd.weather.gc.ca/hydrometric/csv/BC/hourly/BC_08MH001_hourly_hydrometric.csv", //CSV file for Vedder data, note use of CORS Proxy.
dataType: "text",
success: function(data) {getWL(data);
$(function() {
$("#vedTable").makeTable();
});
}
});
$.ajax({
type: "GET",
url: "http://crossorigin.me/http://dd.weather.gc.ca/hydrometric/csv/BC/hourly/BC_08MG022_hourly_hydrometric.csv", //CSV file location for Chehalis data, uses. CORS proxy
dataType: "text",
success: function(data) {getWL(data);
$(function() {
$("#chehaTable").makeTable();
});
}
});
});
function getWL(data){
var waterArray = $.csv.toObjects(data); //Water level data parsed and added to array. jquery-csv used here.
$(function() {
$.fn.makeTable = function(){
var _elem = $(this);
var output = '<table class="generaltable"><tr><th>Date</th><th>Water Level</th></tr>';
for (var j in waterArray){
output+= '<tr><td>' +waterArray[j].Date+ '</td><td>' +waterArray[j].Date+ '</td></tr>';
}
output +="</table>";
return _elem.append(output);
};
});
}
答案 0 :(得分:0)
将此值用于第二列:waterArray[j]['Water Level / Niveau d\'eau (m)']
(注意单引号的转义)以获取水位数据。