2016-06-11 33 views
1

這是我的代碼。我只是試圖打開一個電子表格(目前只有第一列中的信息),並讀取第一個單元格,打印信息,然後沿着循環返回到頂部並讀取下一個單元格。我究竟做錯了什麼?Openpyxl:似乎無法得到我正在嘗試做的語法正確(讀取下一個單元格)

import openpyxl 

wb = openpyxl.load_workbook('students2.xlsx') 

ws = wb.active 

PrintNext = True #Starts my while statement 
while True : 

    for i in range(1,300):  #I think this is where I'm having an issue? 
     for j in range(1,2): 
      StudentID = ws.cell(row=i+1, column=j).value 

    print(StudentID) 
    PrintNext = False  #This gets it to move on from my while 
    pass 

PrintNext = True  #This is to get it to go back to my while 
print(StudentID)  #This is to test that it has the next cell down 

我在這裏找到了答案的解決方案,但是我發現了一個更好的解決方案。

設置這些變量:

for i in range(RowX,RowY): 
    for j in range(ColX,ColY): 
     StudentID = ws.cell(row=i+1, column=j).value 

所以,你所做的任何更改(「一行x =一行x + 1」,例如)的下一次更新的「for」語句體現!

回答

1

您可以使用cell.offset()方法。

+0

這裏是我結束了的代碼: '打印(StudentID) PrintNext =假 類AbstractCell(ABC): @abstractmethod DEF偏移(自,行= 1,列= 0): 通過' – user6452366

+0

我不明白,代碼。更好地編輯您的原始問題。 –

+0

羅傑那!更新! – user6452366

相關問題