在html中使用上传的csv文件

时间:2015-03-05 20:43:22

标签: 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(){
  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,但我不知道如何... 任何帮助将不胜感激。我真的只是一个初学者

1 个答案:

答案 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;
})
相关问题