回答編集履歴

3

コードの修正

2021/01/08 08:01

投稿

退会済みユーザー
test CHANGED
@@ -130,7 +130,7 @@
130
130
 
131
131
  # 部活で格納するリストを分ける
132
132
 
133
- for row in ws_active.iter_rows(min_row=5, values_only=True):
133
+ for row in active_sheet.iter_rows(min_row=5, values_only=True):
134
134
 
135
135
  if all(is_empty(c) for c in row):
136
136
 

2

修正

2021/01/08 08:01

投稿

退会済みユーザー
test CHANGED
@@ -106,6 +106,8 @@
106
106
 
107
107
 
108
108
 
109
+ ##### 追記
110
+
109
111
  因みに`iter_rows()`の引数に`values_only=True`を設定すると、cellオブジェクトではなくセルの中の値を受け取るようになるので代入の部分を簡単に書くことができます。
110
112
 
111
113
  [iter_rows() | openpyxlドキュメント](https://openpyxl.readthedocs.io/en/stable/api/openpyxl.worksheet.worksheet.html#openpyxl.worksheet.worksheet.Worksheet.iter_rows)

1

追記

2021/01/08 07:59

投稿

退会済みユーザー
test CHANGED
@@ -103,3 +103,47 @@
103
103
 
104
104
 
105
105
  ```
106
+
107
+
108
+
109
+ 因みに`iter_rows()`の引数に`values_only=True`を設定すると、cellオブジェクトではなくセルの中の値を受け取るようになるので代入の部分を簡単に書くことができます。
110
+
111
+ [iter_rows() | openpyxlドキュメント](https://openpyxl.readthedocs.io/en/stable/api/openpyxl.worksheet.worksheet.html#openpyxl.worksheet.worksheet.Worksheet.iter_rows)
112
+
113
+
114
+
115
+ ```python
116
+
117
+ # 空行の定義
118
+
119
+ def is_empty(cell):
120
+
121
+ return cell is None or not str(cell).strip()
122
+
123
+
124
+
125
+
126
+
127
+ # Excelシートで一列ごとに対応するリストへ格納
128
+
129
+ # 部活で格納するリストを分ける
130
+
131
+ for row in ws_active.iter_rows(min_row=5, values_only=True):
132
+
133
+ if all(is_empty(c) for c in row):
134
+
135
+ break
136
+
137
+ if row[4] == "野球部":
138
+
139
+ bb_clb.extend(row)
140
+
141
+ elif row[4] == "陸上部":
142
+
143
+ tf_clb.extend(row)
144
+
145
+ elif row[4] == "写真クラブ":
146
+
147
+ pic_clb.extend(row)
148
+
149
+ ```