質問編集履歴

3

質問に無関係のコードを修正

2019/09/22 23:07

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -3,10 +3,6 @@
3
3
  CSVデータを読み込んだ後の処理が、もっとスッキリ書ける気がするのですが、現在の自分の力ではこの書き方が精いっぱいでした。
4
4
 
5
5
  他におすすめの書き方はありますか?
6
-
7
-
8
-
9
- CSVファイルはShift-Jis
10
6
 
11
7
 
12
8
 
@@ -26,7 +22,7 @@
26
22
 
27
23
 
28
24
 
29
- db = Datastore.create(databasePath);
25
+ let db = Datastore.create(databasePath);
30
26
 
31
27
 
32
28
 
@@ -36,51 +32,25 @@
36
32
 
37
33
  const stream = fs.createReadStream(csvFileList[i])
38
34
 
39
- stream.on('error', (e) => {
35
+ stream.pipe(csv.parse(function (err, csvData) {
40
36
 
41
- return false;
37
+ if (csvData){
42
38
 
43
- });
44
-
45
- stream.pipe(iconv.decodeStream('SJIS'))
46
-
47
- .pipe(csv.parse(function (err, csvData) {
48
-
49
- if (err) {
50
-
51
- return false;
52
-
53
- }
54
-
55
- if (csvData) {
56
-
57
- // DBの中から本日分のデータ取得
58
-
59
- let today = '20190901';
39
+ db.find({ dateTime: '20190901' })
60
-
61
- let re = new RegExp(today)
62
-
63
- db.find({ dateTime: re })
64
40
 
65
41
  .then(function (csvData, result) {
66
-
67
-
68
-
69
- // DBへ出力
70
-
71
-          // CSVにはヘッダがないためkeyを設定してオブジェクトを作る
72
42
 
73
43
  for (let i = 0; i < csvData.length; i++) {
74
44
 
75
45
  data = {
76
46
 
77
- dateTime: csvData[i][0],
47
+ day: csvData[i][0],
78
48
 
79
49
  result: csvData[i][1],
80
50
 
81
51
  };
82
52
 
83
-           // DBへ追加
53
+ // DBへ追加
84
54
 
85
55
  await db.insert(data);
86
56
 
@@ -92,7 +62,7 @@
92
62
 
93
63
 
94
64
 
95
- return db;
65
+ return true;
96
66
 
97
67
  }
98
68
 
@@ -100,9 +70,7 @@
100
70
 
101
71
  }
102
72
 
103
-
104
-
105
- return db;
73
+ return true;
106
74
 
107
75
  }
108
76
 
@@ -114,11 +82,11 @@
114
82
 
115
83
  ```CSV
116
84
 
117
- 20190801,OK
85
+ 20190801,true
118
86
 
119
- 20190901,OK
87
+ 20190901,true
120
88
 
121
- 20190901,NG
89
+ 20190901,false
122
90
 
123
91
  20190901,保留
124
92
 

2

修正

2019/09/22 23:07

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -66,15 +66,11 @@
66
66
 
67
67
 
68
68
 
69
- // DBへ出力
69
+ // DBへ出力
70
-
71
- if (csvData.length > result.length) {
72
-
73
-
74
70
 
75
71
           // CSVにはヘッダがないためkeyを設定してオブジェクトを作る
76
72
 
77
- for (let i = result.length; i < csvData.length; i++) {
73
+ for (let i = 0; i < csvData.length; i++) {
78
74
 
79
75
  data = {
80
76
 
@@ -90,15 +86,13 @@
90
86
 
91
87
  }
92
88
 
93
- }
94
-
95
89
 
96
90
 
97
91
  }.bind(null, csvData));
98
92
 
99
93
 
100
94
 
101
- return true;
95
+ return db;
102
96
 
103
97
  }
104
98
 

1

修正

2019/09/22 14:45

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
 
25
- setDatabese = async function (databasePath, fileList) {
25
+ setDatabese = async function (databasePath, csvFileList) {
26
26
 
27
27
 
28
28
 
@@ -34,7 +34,7 @@
34
34
 
35
35
  for (let i in fileList) {
36
36
 
37
- const stream = fs.createReadStream(fileList[i])
37
+ const stream = fs.createReadStream(csvFileList[i])
38
38
 
39
39
  stream.on('error', (e) => {
40
40