我正在开发应用程序(作为学校项目),可以显示来自csv文件的数据。我无法弄清楚我上传后如何使用csv文件(我不使用服务器它只是离线应用程序)。对于使用zing chart的图表,请参阅下面的代码
var chartData={
"type": "line",`"csv":{
"url":"input/datasample.csv",
"vertical-labels":true,
"smart-scales":true
}
};
window.onload=function(){
zingchart.render({
id:'chartDiv',
height:400,
width:600,
data:chartData
});
`所以你可以看到手动设置使用的数据,我想要做的是创建将使用csv文件上传的funcion(使用按钮)并将其用作数据源..
我已经尝试过这个,但我仍然不知道如何使用该csv作为数据源 ......
<input type="file" id="fileInput" accept=".csv"/>
<script>
document.querySelector('#fileInput').addEventListener('change', handleFile,false)
function handleFile(e){
var reader = new FileReader;
var file = e.target.files[0]
reader.onload = function(e){
var csv = e.target.result
}
reader.readAsText(file);
}
我想如果我可以将csv转换为字符串或json,但我不知道如何... 任何帮助将不胜感激。我真的只是一个初学者
答案 0 :(得分:0)
请在此处查看我的回答:[回答](Convert CSV data into JSON format using Javascript
function csvUpload(csvText){
//Split all the text into seperate lines on new lines and carriage return feeds
var allTextLines = csvText.split(/\r\n|\n/);
//Split per line on tabs and commas
var headers = allTextLines[0].split(/\t|,/);
var lines = [];
var locations = [];
for (var i=1; i<allTextLines.length; i++) {
var data = allTextLines[i].split(/\t|,/);
if (data.length == headers.length) {
var location = {"device_id":data[0], "address":data[1], "city":data[2]};
locations.push(location);
}
}
return locations;
})