我正在开发一个应用程序(作为一个学校项目),它可以可视化 csv 文件中的数据。我不知道的是上传后如何使用 csv 文件(我不使用服务器,它只是离线应用程序)。对于我使用 zing 图表的图表,请参阅以下代码
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 文件(使用按钮)并将其用作数据源。
我已经尝试过这个,但我仍然不知道如何使用该 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,但我不知道如何.. 任何帮助将不胜感激..我真的只是一个初学者
最佳答案
请在此处查看我的答案:[答案]( 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;
})
关于javascript - 在 html 中使用上传的 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28887335/