回答編集履歴
2
不十分だった処理を修正
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
みなおし
answer
CHANGED
@@ -1,10 +1,7 @@
|
|
1
1
|
row2.append(row1) で追加するのは、row1そのものではなく、row1のn番目の数字で、それは上から何番目の5の塊かによって変わるわけですよね?
|
2
2
|
|
3
|
-
であれば、
|
4
|
-
|
3
|
+
であれば、「今何番目の5の塊にいるか」によって、追加する値を決定して、
|
5
|
-
- 塊の中か外か
|
6
|
-
を示す情報を持てばよいわけです。
|
7
|
-
|
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
|
-
|
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
|
-
|
21
|
+
process_5 = True
|
25
22
|
row2.append(row1[number_index])
|
26
23
|
print(row2)
|
27
24
|
|