質問編集履歴
1
情報追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,32 +1,56 @@
|
|
1
|
-
リストを上から120個ずつ1シートずつ反映していく動作を繰り返し行うことを実現させたいです。
|
1
|
+
リストを上から120個ずつ1シートずつ反映していく動作を1280回繰り返し行うことを実現させたいです。
|
2
2
|
|
3
3
|
現状Excelの1シート目にリストを全て反映させることができるのですが、1シート目は1~120番まで、2シート目は121~240番までというように「120個反映させたら次のシートに反映する」ことができない状態です。
|
4
4
|
|
5
|
+
■2021_data.xlsx
|
6
|
+
]
|
7
|
+
⇩
|
8
|
+
■反映イメージ
|
9
|
+

|
10
|
+
|
5
11
|
```
|
6
|
-
|
12
|
+
#データ格納先のエクセルワークブックを読み込む
|
13
|
+
wb1 = openpyxl.load_workbook("1280シート.xlsx")
|
7
|
-
|
14
|
+
ws = wb1.active
|
8
|
-
s1 = 'B'
|
9
|
-
B =s1 + str(t)
|
10
15
|
|
11
|
-
|
16
|
+
#格納する元のデータのエクセルを読み込む
|
17
|
+
wb2 = openpyxl.load_workbook("2021_data.xlsx")
|
12
|
-
|
18
|
+
sheet = wb2["1;q1_1_1~q2_120_1"]
|
13
19
|
|
14
|
-
s3 = 'D'
|
15
|
-
D = s3 + str(t)
|
16
20
|
|
21
|
+
t=2
|
22
|
+
for row in sheet.iter_rows(min_row=2):
|
23
|
+
# 行からセルを1個ずつ取得し、処理をする
|
24
|
+
for cell in row:
|
25
|
+
#リストを文字型に変換して分割
|
26
|
+
if ',' in str(cell.value) :
|
27
|
+
l = str(cell.value)
|
28
|
+
op = l.split(',')
|
29
|
+
for k in range(2):
|
30
|
+
ws = wb1.worksheets[k]
|
17
|
-
|
31
|
+
s1 = 'B'
|
18
|
-
|
32
|
+
B =s1 + str(t)
|
19
33
|
|
20
|
-
|
34
|
+
s2 = 'C'
|
21
|
-
|
35
|
+
C = s2 + str(t)
|
22
|
-
|
23
|
-
ws[B]= list[0]
|
24
|
-
ws[C]= list[1]
|
25
|
-
ws[D]= list[2]
|
26
|
-
ws[E]= list[3]
|
27
|
-
ws[F]= list[4]
|
28
|
-
t=t+1
|
29
36
|
|
37
|
+
s3 = 'D'
|
38
|
+
D = s3 + str(t)
|
39
|
+
|
40
|
+
s4 = 'E'
|
41
|
+
E = s4 + str(t)
|
42
|
+
|
43
|
+
s5 = 'F'
|
44
|
+
F = s5 + str(t)
|
45
|
+
|
46
|
+
ws[B]= op[0]
|
47
|
+
ws[C]= op[1]
|
48
|
+
ws[D]= op[2]
|
49
|
+
ws[E]= op[3]
|
50
|
+
ws[F]= op[4]
|
51
|
+
|
52
|
+
t=t+1
|
53
|
+
|
30
54
|
```
|
31
55
|
|
32
56
|
すみませんが、よろしくお願いいたします。
|