FILE APIとencode.jsを使ったCSVの取り込み時にダブルクォートを除外して配列にしたいです。
実際に記述しているコードは下記です。
// CSVテキストを2次元配列にする function toArray(csv){ var result = new Array(); var rows = csv.split("\n"); $(rows).each(function(){ result.push(this.split(",")); }); return result; } // HTML5 のFile APIに対応している場合 if(window.File && window.FileReader && window.FileList && window.Blob) { $("#file_input").change(function(event){ // ファイルデータ取得 var file = event.target.files[0]; // CSVファイルチェック if(!file.name.match('.csv$')) { alert('CSVファイルを選択してください'); return; } // ファイル読み込み var reader = new FileReader(); reader.onload = function(e) { console.log(e); const codes = new Uint8Array(e.target.result); const encoding = Encoding.detect(codes); const unicodeString = Encoding.convert(codes, { to: 'unicode', from: encoding, }); // 文字コード配列を文字列に変換 var result = Encoding.codeToString(unicodeString); array = toArray(result); console.log(array); }; reader.onerror = function() { alert('ファイルが読めませんでした。'); }; reader.readAsArrayBuffer(file); }); } else { $('#member_import_dialog').text('File APIに対応したブラウザでご確認ください'); }
console.logで出力すると、文字列を挟んでいたダブルクォートが残ったまま配列化されてしまうのですが、
これを除外することはできるのでしょうか。文字列間にダブルクォートが含まれている場合は、除外の対象外とし、
あくまでカラムを囲んでいるダブルクォートのみを取り除きたいです。
回答1件
あなたの回答
tips
プレビュー