teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

不十分だった処理を修正

2020/11/27 02:21

投稿

TakaiY
TakaiY

スコア14545

answer CHANGED
@@ -22,4 +22,28 @@
22
22
  row2.append(row1[number_index])
23
23
  print(row2)
24
24
 
25
- ```
25
+ ```
26
+
27
+ ---
28
+
29
+ 自分で考えてみたほうがいいと思いますが、row2の最初が使われない件を修正してみました。
30
+
31
+ ```python
32
+ number_index = 0 # 今何番目の5の塊にいるか
33
+ process_5 = False # 5の塊を処理中か
34
+
35
+ with open('/data\20201124 脳波\OpenBCI_2020_11_25_16_06_55.csv', 'r') as csvfile:
36
+ eeg_file = csv.reader(csvfile)
37
+ for row2 in eeg_file:
38
+ if "0" in row2[2]:
39
+ if process_5:
40
+ process_5 = False
41
+ number_index += 1
42
+ row2.append("0")
43
+ else:
44
+ process_5 = True
45
+ row2.append(row1[number_index])
46
+ print(row2)
47
+
48
+ ```
49
+ インデックスのインクリメントのタイミングを、5の塊を抜けたところ=0の塊に入ったところに変更です。

1

みなおし

2020/11/27 02:21

投稿

TakaiY
TakaiY

スコア14545

answer CHANGED
@@ -1,10 +1,7 @@
1
1
  row2.append(row1) で追加するのは、row1そのものではなく、row1のn番目の数字で、それは上から何番目の5の塊かによって変わるわけですよね?
2
2
 
3
- であれば、
4
- - 今何番目の5の塊にいるか
3
+ であれば、「今何番目の5の塊にいるか」によって、追加する値を決定して、
5
- - 塊の中か外か
6
- を示す情報を持てばよいわけです。
7
- そして、0の塊が出てくるタイミングで切り切り替えてあげればいいわけです。
4
+ 0の塊から5の塊に変ったタイミング値を増やします。
8
5
 
9
6
  これが正しければ、最後のループのあたりをこのようにすれば、よいのではないかと思います。
10
7
 
@@ -16,12 +13,12 @@
16
13
  eeg_file = csv.reader(csvfile)
17
14
  for row2 in eeg_file:
18
15
  if "0" in row2[2]:
19
- if process_5:
20
- process_5 = False
16
+ process_5 = False
21
- number_index += 1
22
17
  row2.append("0")
23
18
  else:
19
+ if not process_5:
20
+ number_index += 1
24
- process_5 = True
21
+ process_5 = True
25
22
  row2.append(row1[number_index])
26
23
  print(row2)
27
24