Javascript 在html中使用上载的csv文件
我正在做一个学校项目,可以从csv文件中可视化数据。我搞不懂的是上传csv文件后如何使用它,我没有使用服务器,只是离线应用。对于使用zing chart的图表,请参阅以下代码Javascript 在html中使用上载的csv文件,javascript,php,jquery,html,json,Javascript,Php,Jquery,Html,Json,我正在做一个学校项目,可以从csv文件中可视化数据。我搞不懂的是上传csv文件后如何使用它,我没有使用服务器,只是离线应用。对于使用zing chart的图表,请参阅以下代码 var chartData={ "type": "line",`"csv":{ "url":"input/datasample.csv", "vertical-labels":true, "smart-scales":true } }; window.onload=function(){
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作为数据源
...
我想我是否可以将csv转换为字符串或json,但我不知道如何。。
任何帮助都将不胜感激。我只是一个初学者在这里查看我的答案:[答案]
<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);
}
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;
})