0
我在使用openpyx iter_rows時遇到了困難。是openpyxl iter_rows()跳過最後一行嗎?
源Excel具有在第一列中的行(A):
- 頭
- 第一數據行
- ...
- 第32數據行
的代碼:
start, stop = 0, 1000
for row_index, row in enumerate(source_ws.iter_rows()):
if start < row_index < stop:
# something meaning here
不訪問最後的第32行數據,但在第31行發生。 行之間沒有空行。
我做了一個邪惡的黑客來規避這種行爲,但這不是一個長久的選擇。
環境:
- 的Python 3.4.0(v3.4.0:04f714765c13,2014年3月16日,19時25分23秒)
- jdcal == 1.0
- openpyxl == 2.1.5
我在這裏做錯了什麼?
真的需要一個文件來說,但它可能是文件有不正確的「尺寸」。 – 2015-02-24 10:19:02
這工作: '爲ROW_INDEX,排在枚舉(source_ws.iter_rows(),啓動= 1): #什麼意思這裏 ' 所以openpyxl工作正常。我知道我做錯了 – numibialainen 2015-02-24 12:18:45
如果取決於你想要做什麼。如果您希望row_index代表工作表中的一行,那麼它將需要從1開始; Python使用基於0的索引,基於Excel 1。 – 2015-02-24 13:58:13