2

現在、PapaParse を使用して解析を続行する前に、特定の .CSV 形式をどのようにしたいかに関して、いくつかの説明の検証を追加しようとしています。

したがって、私の考えは、最初にヘッダーをチェックし、それらが次のものと同等であるかどうかを確認することでした:

Extension, company, name

そうしないと、形式が間違っていることを示すエラー メッセージが表示されます。

すべての解析は PapaParse を使用して行われます。

Ave は満足していませんでしたが、現在のコードは次のとおりです。

var result = [];

$("#CSV-Upload").click(function () {
        $("input[type=file]").parse({
            config : {
                header : true,
                skipEmptyLines : true,
                complete : function (results, file) {
                    console.log("This file done:", file, results);
                    var string = JSON.stringify(results['data']);
                    result.push(string);
                    console.log("CSV Array: " + string);
                }
            },
            complete : function () {
                console.log("All files done!");
            }
        });
        $("#csv-file").val('');
    });
4

2 に答える 2

3

私が正しく理解している場合は、特定のキーがヘッダーに存在するかどうかを確認する必要があります。papa parse を使用してこれを行うには、 を使用することをお勧めしstreamingます。papa parse の概念はstreaming、パーサーがデータを読み取っているときにデータを処理することです。

基本的にrow、関数で返されたオブジェクトの特定のキーをチェックしstepます。次のコードを確認してください。

var allKeyPresent = false; // Flag

Papa.parse(file, {
    header : true,
    skipEmptyLines : true,
    step: function(row, parser){
        if (!allKeyPresent) { //Only chek if flag is not set, i.e, for the first time
            parser.pause(); // pause the parser
            var first_row_data = row.data[0];
            // Now check object keys, if it match
            if (('Extension' in first_row_data) && ('name' in first_row_data) && ('email' in first_row_data)) {
                //every required key is present
                allKeyPresent = true;

                // Do your data processing here

                parser.resume();
            } else{
                //some key is missing, abort parsing
                parser.abort();
            }

        } else{ // we already match the header, all required key is present

            // Do the Data processing here

        }

    }
});

papa parse でのストリーミングの詳細については、こちらをご覧くださいまた、ドキュメントstepの構成説明セクションで関数の詳細を参照してください。

これが役立つことを願っています。他に関連するクエリがあれば教えてください。

于 2016-03-30T16:15:37.753 に答える