簡體   English   中英

使用 javascript 讀取 CSV 文件

[英]Read a CSV file with javascript

我正在嘗試使用 php 將 CSV 文件上傳到我的數據庫。 我對數字有問題,所以我嘗試使用 javascript 將文件導入到數組中。 我注意到導入時 CSV 的編號不同。 例如數字 23447 是“23 447”(包括空格和引號)。 我的代碼如何編輯數字的形式?

js數據

csv數據

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {
        $("#upload").bind("click", function () {
            var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.csv|.txt)$/;
            if (regex.test($("#fileUpload").val().toLowerCase())) {
                if (typeof (FileReader) != "undefined") {
                    var reader = new FileReader();
                    reader.onload = function (e) {
                        var table = $("<table />");
                        var rows = e.target.result.split("\n");
                        for (var i = 0; i < rows.length; i++) {
                            var row = $("<tr />");
                            var cells = rows[i].split(",");
                            if (cells.length > 1) {
                                for (var j = 0; j < cells.length; j++) {
                                    var cell = $("<td />");
                                    cell.html(cells[j]);
                                    row.append(cell);
                                }
                                table.append(row);
                            }
                        }
                        $("#dvCSV").html('');
                        $("#dvCSV").append(table);
                    }
                    reader.readAsText($("#fileUpload")[0].files[0]);
                } else {
                    alert("This browser does not support HTML5.");
                }
            } else {
                alert("Please upload a valid CSV file.");
            }
        });
    });
</script>
<input type="file" id="fileUpload" />
<input type="button" id="upload" value="Upload" />
<hr />
<div id="dvCSV">
</div>

只需刪除空格(空白字符與正則表達式特殊字符\\s匹配)然后轉換為數字。 將此函數應用於每個 csv 單元格值以處理它們:

 const processNumber = str => { const strWithoutSpaces = str.replace(/\\s*/g, ''); const numberFromStr = +strWithoutSpaces; return numberFromStr; } console.log(['10 000', '3 000 000', '100'].map(processNumber))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM