質問編集履歴
4
しゅうせい
title
CHANGED
File without changes
|
body
CHANGED
@@ -59,55 +59,4 @@
|
|
59
59
|
あくまでカラムを囲んでいるダブルクォートのみを取り除きたいです。
|
60
60
|
|
61
61
|
|
62
|
-

|
62
|
+

|
63
|
-
|
64
|
-
|
65
|
-
うまくいったコード
|
66
|
-
Paraparseを使ってUTF-8にエンコード。
|
67
|
-
```ここに言語を入力
|
68
|
-
// HTML5 のFile APIに対応している場合
|
69
|
-
if(window.File && window.FileReader && window.FileList && window.Blob) {
|
70
|
-
$("#file_input").change(function(event){
|
71
|
-
// ファイルデータ取得
|
72
|
-
var file = event.target.files[0];
|
73
|
-
|
74
|
-
// CSVファイルチェック
|
75
|
-
if(!file.name.match('.csv$')) {
|
76
|
-
alert('CSVファイルを選択してください');
|
77
|
-
return;
|
78
|
-
}
|
79
|
-
|
80
|
-
// ファイル読み込み
|
81
|
-
var reader = new FileReader();
|
82
|
-
reader.onload = function(e) {
|
83
|
-
const codes = new Uint8Array(e.target.result);
|
84
|
-
const encoding = Encoding.detect(codes);
|
85
|
-
const unicodeString = Encoding.convert(codes, {
|
86
|
-
to: 'unicode',
|
87
|
-
from: encoding,
|
88
|
-
type: 'string',
|
89
|
-
});
|
90
|
-
|
91
|
-
var alldata={};
|
92
|
-
Papa.parse(unicodeString, {
|
93
|
-
delimiter: ",", // 区切り文字
|
94
|
-
header: true, // 実データ一行目を項目名とするか
|
95
|
-
comments: "#", // "#"始まりはコメント行
|
96
|
-
skipEmptyLines: true, // 空行を飛ばす
|
97
|
-
//encoding: "UTF8",
|
98
|
-
complete: function(results, f) {
|
99
|
-
console.log(results);
|
100
|
-
},
|
101
|
-
});
|
102
|
-
|
103
|
-
};
|
104
|
-
reader.onerror = function() {
|
105
|
-
alert('ファイルが読めませんでした。');
|
106
|
-
};
|
107
|
-
|
108
|
-
reader.readAsArrayBuffer(file);
|
109
|
-
});
|
110
|
-
} else {
|
111
|
-
$('#member_import_dialog').text('File APIに対応したブラウザでご確認ください');
|
112
|
-
}
|
113
|
-
```
|
3
完成コード
title
CHANGED
File without changes
|
body
CHANGED
@@ -62,26 +62,52 @@
|
|
62
62
|

|
63
63
|
|
64
64
|
|
65
|
+
うまくいったコード
|
65
|
-
Paraparseを使って
|
66
|
+
Paraparseを使ってUTF-8にエンコード。
|
66
67
|
```ここに言語を入力
|
68
|
+
// HTML5 のFile APIに対応している場合
|
69
|
+
if(window.File && window.FileReader && window.FileList && window.Blob) {
|
67
|
-
|
70
|
+
$("#file_input").change(function(event){
|
71
|
+
// ファイルデータ取得
|
72
|
+
var file = event.target.files[0];
|
73
|
+
|
74
|
+
// CSVファイルチェック
|
75
|
+
if(!file.name.match('.csv$')) {
|
76
|
+
alert('CSVファイルを選択してください');
|
77
|
+
return;
|
78
|
+
}
|
79
|
+
|
80
|
+
// ファイル読み込み
|
81
|
+
var reader = new FileReader();
|
82
|
+
reader.onload = function(e) {
|
83
|
+
const codes = new Uint8Array(e.target.result);
|
84
|
+
const encoding = Encoding.detect(codes);
|
85
|
+
const unicodeString = Encoding.convert(codes, {
|
86
|
+
to: 'unicode',
|
87
|
+
from: encoding,
|
88
|
+
type: 'string',
|
89
|
+
});
|
90
|
+
|
68
|
-
|
91
|
+
var alldata={};
|
69
|
-
|
92
|
+
Papa.parse(unicodeString, {
|
70
|
-
config:{
|
71
|
-
|
93
|
+
delimiter: ",", // 区切り文字
|
72
|
-
|
94
|
+
header: true, // 実データ一行目を項目名とするか
|
73
|
-
|
95
|
+
comments: "#", // "#"始まりはコメント行
|
74
|
-
|
96
|
+
skipEmptyLines: true, // 空行を飛ばす
|
97
|
+
//encoding: "UTF8",
|
98
|
+
complete: function(results, f) {
|
99
|
+
console.log(results);
|
75
|
-
|
100
|
+
},
|
76
|
-
// 完了時
|
77
|
-
complete:function(res){
|
78
|
-
|
101
|
+
});
|
79
|
-
|
102
|
+
|
80
|
-
|
103
|
+
};
|
81
|
-
// エラー時
|
82
|
-
|
104
|
+
reader.onerror = function() {
|
83
|
-
|
105
|
+
alert('ファイルが読めませんでした。');
|
106
|
+
};
|
107
|
+
|
108
|
+
reader.readAsArrayBuffer(file);
|
109
|
+
});
|
110
|
+
} else {
|
111
|
+
$('#member_import_dialog').text('File APIに対応したブラウザでご確認ください');
|
84
|
-
|
112
|
+
}
|
85
|
-
});
|
86
|
-
});
|
87
113
|
```
|
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -59,4 +59,29 @@
|
|
59
59
|
あくまでカラムを囲んでいるダブルクォートのみを取り除きたいです。
|
60
60
|
|
61
61
|
|
62
|
-

|
62
|
+

|
63
|
+
|
64
|
+
|
65
|
+
Paraparseを使ってみたがうまく動作せず
|
66
|
+
```ここに言語を入力
|
67
|
+
$("#file_input").change(function(event){
|
68
|
+
var alldata={};
|
69
|
+
$('#file_input').parse({
|
70
|
+
config:{
|
71
|
+
delimiter: ",", // 区切り文字
|
72
|
+
header: true, // 実データ一行目を項目名とするか
|
73
|
+
comments: "#", // "#"始まりはコメント行
|
74
|
+
skipEmptyLines: true, // 空行を飛ばす
|
75
|
+
},
|
76
|
+
// 完了時
|
77
|
+
complete:function(res){
|
78
|
+
console.log(res);
|
79
|
+
|
80
|
+
},
|
81
|
+
// エラー時
|
82
|
+
error:function(err) {
|
83
|
+
|
84
|
+
}
|
85
|
+
});
|
86
|
+
});
|
87
|
+
```
|
1
関数定義の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,6 +2,17 @@
|
|
2
2
|
|
3
3
|
実際に記述しているコードは下記です。
|
4
4
|
```ここに言語を入力
|
5
|
+
|
6
|
+
// CSVテキストを2次元配列にする
|
7
|
+
function toArray(csv){
|
8
|
+
var result = new Array();
|
9
|
+
var rows = csv.split("\n");
|
10
|
+
$(rows).each(function(){
|
11
|
+
result.push(this.split(","));
|
12
|
+
});
|
13
|
+
return result;
|
14
|
+
}
|
15
|
+
|
5
16
|
// HTML5 のFile APIに対応している場合
|
6
17
|
if(window.File && window.FileReader && window.FileList && window.Blob) {
|
7
18
|
$("#file_input").change(function(event){
|