[解決済み] [Solved] javascriptを使用して*.CSVファイルからデータを読み取るには?
2022-04-07 14:58:23
質問
私のcsvデータは次のようなものです。
見出し1,見出し2,見出し3,見出し4,見出し5,値1_1,値2_1,値3_1,値4_1,値5_1,値1_2,値2_2,値3_2,値4_2,値5_2・・・・。
このデータを読み込んで、Javascriptでこのような配列に変換するにはどうすればよいのでしょうか。
<ブロッククオート[見出し1:値1_1 , 見出し2:値2_1, 見出し3:値3_1, 見出し4 : value4_1, heading5 : value5_1 ],[heading1:value1_2 , 見出し2:値2_2、見出し3:値3_2、見出し4:値4_2、見出し5 : value5_2 ]....
このコードを試しましたが、ダメでした!。
<script type="text/javascript">
var allText =[];
var allTextLines = [];
var Lines = [];
var txtFile = new XMLHttpRequest();
txtFile.open("GET", "file://d:/data.txt", true);
txtFile.onreadystatechange = function()
{
allText = txtFile.responseText;
allTextLines = allText.split(/\r\n|\n/);
};
document.write(allTextLines);<br>
document.write(allText);<br>
document.write(txtFile);<br>
</script>
解決方法は?
注意事項 この解決策は、エスケープされた引用符のような、有効なCSVファイルで起こりうるすべてのquot;特殊なケース"について思い出す前に考え出したものです。私は、迅速かつ汚い方法を求める人々のために私の答えを残しています。 エヴァンの回答 正確には
このコードは
data.txt
ファイルはカンマで区切られた一つの長い文字列で、改行もありません。
data.txtです。
heading1,heading2,heading3,heading4,heading5,value1_1,...,value5_2
javascriptを使用します。
$(document).ready(function() {
$.ajax({
type: "GET",
url: "data.txt",
dataType: "text",
success: function(data) {processData(data);}
});
});
function processData(allText) {
var record_num = 5; // or however many elements there are in each row
var allTextLines = allText.split(/\r\n|\n/);
var entries = allTextLines[0].split(',');
var lines = [];
var headings = entries.splice(0,record_num);
while (entries.length>0) {
var tarr = [];
for (var j=0; j<record_num; j++) {
tarr.push(headings[j]+":"+entries.shift());
}
lines.push(tarr);
}
// alert(lines);
}
次のコードは、各レコードセットの間に改行がある "true" CSV ファイルで動作します。
data.txt:
heading1,heading2,heading3,heading4,heading5
value1_1,value2_1,value3_1,value4_1,value5_1
value1_2,value2_2,value3_2,value4_2,value5_2
javascriptを使用します。
$(document).ready(function() {
$.ajax({
type: "GET",
url: "data.txt",
dataType: "text",
success: function(data) {processData(data);}
});
});
function processData(allText) {
var allTextLines = allText.split(/\r\n|\n/);
var headers = allTextLines[0].split(',');
var lines = [];
for (var i=1; i<allTextLines.length; i++) {
var data = allTextLines[i].split(',');
if (data.length == headers.length) {
var tarr = [];
for (var j=0; j<headers.length; j++) {
tarr.push(headers[j]+":"+data[j]);
}
lines.push(tarr);
}
}
// alert(lines);
}
関連
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み】未定義のプロパティ 'forEach' を読み取ることができない
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】SyntaxError: 'import' と 'export' は 'sourceType: module' とだけ表示されるかもしれない - Gulp
-
[解決済み】Uncaught ReferenceError。Reactが定義されていない
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み】JS ファイルが net::ERR_ABORTED 404 (Not Found) を取得する)
-
[解決済み】FirefoxでGoogle Maps V3をリモートで使用すると「googleが定義されていません」と表示される。
-
[解決済み】JavaScriptで相対URLへのリダイレクトを行う
-
[解決済み】Uncaught ReferenceError。Firebase は定義されていません。
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?
-
[解決済み】CSVデータをパースするJavaScriptのコード例