→ surimodo: if (sheet.range((2,6),(2,6)).value is None) or (she 09/04 19:59
→ surimodo: et.range((2,7),(2,7)).value is None): 09/04 19:59
→ surimodo: ==== 09/04 20:43
→ Pettitte1: 可以了 我在想想怎麼變成i 謝謝 09/04 21:05
→ Pettitte1: 是不是不能直接用(sheet.range((2,2),(i,j)).value is 09/04 21:22
→ Pettitte1: None): 這樣 要用While? 09/04 21:23
→ surimodo: 不能 我想到的是用領個for迴圈偵測 09/04 21:49
謝謝回答 不過會跳出TypeError: 'float' object is not iterable
我是寫成
# for i in range(6,15):
# i1 = i - 1
# i2 = i - 2
# i3 = i - 3
# i4 = i - 4
# if (sma5_sheet.cells[i,2].value is None) or
(sma5_sheet.cells[i1,2].value is None) or ((sma5_sheet.cells[i2,2].value is
None)) or (sma5_sheet.cells[i3,2].value is None) or
(sma5_sheet.cells[i4,2].value is None):
# print('Yes')
# else:
# print('No')
每一格都判斷一次 這樣是有用的 但是就變成很長一串
如果要變成60的話要弄到i60
請問有沒有更快的寫法呢?
謝謝
※ 編輯: Pettitte1 (59.115.70.141 臺灣), 09/04/2022 22:07:31
→ surimodo: 但這方法沒到很好 應該能用function包裝跑幾比快 09/04 21:52
→ surimodo: 而且有一些問題 09/04 21:52
→ surimodo: 對 這就是我說的問題 因為你的測資有很多可能 09/04 22:15
→ surimodo: 要把程式兩個為圈改成一個迴圈 09/04 22:16
→ surimodo: 如果範圍是('A1:F6') 理論上正常 09/04 22:19
→ surimodo: 但你丟了其他 可能是A1:A6 之類就會跳ERROR 09/04 22:20
推 lycantrope: 有any可以用吧 09/04 23:05
→ Pettitte1: any可以用 不過all比較適合我 謝謝囉 09/05 16:34
→ lycantrope: all is not None與any is None等價,你開心就好... 09/05 16:45