私は自分のローカルディレクトリからいくつかのデータを解析しようとしています。 私はそれを行うためにパパ・パーサーを使用します。 問題は、テキストファイルを変数に割り当てることができないことです。私はこのエラーが発生しています。Javascriptでテキストデータの解析エラーが発生しましたか?
Uncaught TypeError: 'FileReader'で 'readAsText'を実行できませんでした:パラメータ1の型が 'Blob'ではありません。
私はそれについて調べましたが、HTMLファイルリーダーでファイルを読むときに非常によくあるエラーであることがわかりました。
私のコードは;
<!doctype html>
<html class="no-js" lang="">
<head>
<script src="https://github.com/mholt/PapaParse/blob/master/papaparse.js"></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Parse Example</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/vendor/modernizr-2.8.3.min.js"></script>
</head>
<p>Click the button to Upload .</p>
<button onclick="myFunction()" type="INPUT">Load</button>
<input type="file" name="datafile" size="40">
<script>
var x;
var config = {
delimiter: "", \t // auto-detect
newline: "", \t // auto-detect
header: true,
dynamicTyping: false,
preview: 0,
encoding: "",
worker: false,
comments: false,
step: undefined,
complete: undefined,
error: undefined,
download: true,
skipEmptyLines: false,
chunk: undefined,
fastMode: undefined,
beforeFirstChunk: undefined,
withCredentials: undefined
};
function myFunction() {
x = document.getElementsByName("datafile");
myfile = Papa.parse(x, config);
document.getElementById("demo").innerHTML = myfile;
}
</script>
<p id="demo"></p>
</body>
</html>
これはうまくいきましたが、長いドキュメントを最初に持っているとどうなりますか?各行をフェッチするためにforループが必要ですか? – bukowski
質問には答えられませんでしたか? – cyberskunk
コードが機能しました。しかし、私が望むやり方ではありません。私は何の誤りもなく、私のデータも読み込まれません。私は空の配列のようなオブジェクトをデータ読み込み後に取得します。私はライン構造のためにそれを聞いていますか?例えば、次のようなループを書くべきですか? i = 0〜line_lenght line(i)= x = document.getElementsByName( "datafile")[i] .files [i] – bukowski