質問編集履歴
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -40,4 +40,18 @@
|
|
40
40
|
reader.readAsText(fileData);
|
41
41
|
});
|
42
42
|
});
|
43
|
+
```
|
44
|
+
|
45
|
+
#追記
|
46
|
+
```javascript
|
47
|
+
reader.onload = function(e) {
|
48
|
+
// 行単位で配列にする
|
49
|
+
var lineArr = reader.result.split("\n");
|
50
|
+
// 行と列の二次元配列にする
|
51
|
+
var itemArr = [];
|
52
|
+
for (var i = 0; i < lineArr.length; i++) {
|
53
|
+
itemArr[i] = lineArr[i].split(",");
|
54
|
+
}
|
55
|
+
csvs = e.target.result;
|
56
|
+
console.log(csvs);
|
43
57
|
```
|
1
追記
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
javascriptでローカルのcsvを読み込
|
1
|
+
javascriptでローカルのcsvを読み込で変数に格納する方法
|
body
CHANGED
@@ -1,31 +1,43 @@
|
|
1
|
-
ローカルのcsvファイル(class_name.csv)を読み込み、javascript上で変数に格納したい
|
1
|
+
ローカルのcsvファイル(class_name.csv)を読み込み、javascript上で変数に格納したいです。
|
2
2
|
|
3
|
-
下の
|
3
|
+
下のようにアップロードしたcsvファイルを、javascript上で変数に格納するにはどうした良いでしょうか?
|
4
4
|
|
5
|
-
|
5
|
+
ご教授お願いします。
|
6
6
|
|
7
|
-
```javascript
|
8
|
-
function getCSV(){
|
9
|
-
|
7
|
+
[新コード参考サイト](http://cly7796.net/wp/javascript/read-csv-file-with-file-api/)
|
10
|
-
req.open("get", "class_name.csv", true); // アクセスするファイルを指定
|
11
|
-
req.send(null); // HTTPリクエストの発行
|
12
|
-
// レスポンスが返ってきたらconvertCSVtoArray()を呼ぶ
|
13
|
-
req.onload = function(){
|
14
|
-
var result = []; // 最終的な二次元配列を入れるための配列
|
15
|
-
var tmp = req.responseText.split("\n"); // 改行を区切り文字として行を要素とした配列を生成
|
16
|
-
// 各行ごとにカンマで区切った文字列を要素とした二次元配列を生成
|
17
|
-
for(var i=0;i<tmp.length;++i){
|
18
|
-
result[i] = tmp[i].split(',');
|
19
|
-
}
|
20
|
-
};
|
21
|
-
return result;
|
22
|
-
}
|
23
8
|
|
9
|
+
```html
|
10
|
+
<a id="result">
|
11
|
+
<input type="file" accept="csv" id="select" />
|
24
|
-
/
|
12
|
+
CSV select</a>
|
25
|
-
getCSV();
|
26
13
|
```
|
14
|
+
```javascript
|
15
|
+
$("#select").click(function() {
|
16
|
+
var result = document.getElementById('result');
|
17
|
+
var select = document.getElementById('select');
|
27
18
|
|
28
|
-
|
19
|
+
// ファイルが選択されたとき
|
29
|
-
```
|
30
|
-
|
20
|
+
select.addEventListener('change', function(e) {
|
21
|
+
// 選択されたファイルの情報を取得
|
22
|
+
var fileData = e.target.files[0];
|
23
|
+
|
24
|
+
var reader = new FileReader();
|
25
|
+
// ファイル読み取りに失敗したとき
|
26
|
+
reader.onerror = function() {
|
27
|
+
alert('ファイル読み取りに失敗しました');
|
28
|
+
}
|
29
|
+
// ファイル読み取りに成功したとき
|
30
|
+
reader.onload = function() {
|
31
|
+
// 行単位で配列にする
|
32
|
+
var lineArr = reader.result.split("\n");
|
33
|
+
// 行と列の二次元配列にする
|
34
|
+
var itemArr = [];
|
35
|
+
for (var i = 0; i < lineArr.length; i++) {
|
36
|
+
itemArr[i] = lineArr[i].split(",");
|
37
|
+
}
|
38
|
+
};
|
39
|
+
// ファイル読み取りを実行
|
40
|
+
reader.readAsText(fileData);
|
41
|
+
});
|
42
|
+
});
|
31
43
|
```
|