Iterasi melalui baris atas lembar excel

Saya memiliki bagian kode berikut yang menggunakan openpyxl untuk mencari baris atas spreadsheet dan menemukan elemen pertama yang tidak mengandung nilai. Ini mengembalikan kesalahan berikut ketika saya menjalankannya. Apakah ada cara yang lebih baik untuk melakukan ini? Atau bagaimana cara menghilangkan kesalahan tersebut?

val = "something"
j = 1
titleIndex = None
while val != None:
    val = lecture['%s1' % chr(ord('@') + j)].internal_value
    print val
    print j
    j += 1
else:
    titleIndex = '%s1' % chr(ord('@') + j - 1)

File "C:\Users\ecustodio\Documents\Python Scripts\ExcelIterate.py", baris 14, di set_title val = ceramah['%s1' % chr(ord('A') + j)].internal_value File "C :\Users\ecustodio\AppData\Local\Continuum\anaconda2\lib\site-packages\openpyxl\worksheet\worksheet.py", baris 345, di getitem min_col, min_row, max_col, max_row = range_boundaries (kunci) File "C:\Users\ecustodio\AppData\Local\Continuum\anaconda2\lib\site-packages\openpyxl\utils\cell.py", baris 135, di range_boundaries naikkan ValueError("{0} bukan a koordinat atau rentang yang valid") ValueError: {0} bukan koordinat atau rentang yang valid


person Ethan Custodio    schedule 19.09.2018    source sumber
comment
baris yang dirujuk oleh traceback adalah baris kode ke-5   -  person Ethan Custodio    schedule 19.09.2018
comment
Gunakan ws.iter_rows(min_row=1, max_row=1) atau ws[1]   -  person Charlie Clark    schedule 19.09.2018
comment
Kemungkinan duplikat dari Iterasi pada Lembar Kerja, Baris, Kolom   -  person stovfl    schedule 19.09.2018


Jawaban (1)


Sejauh yang saya bisa lihat, garisnya

val = lecture['%s1' % chr(ord('A') + j)].internal_value

yang diberikan dalam pesan kesalahan berbeda dari yang ada di kode:

val = lecture['%s1' % chr(ord('@') + j)].internal_value

Harap periksa nilai '%s1' % chr(ord('@') + j) atau berapa pun sebelum meminta item dari lecture. Dan pastikan lecture Anda benar-benar merupakan lembar kerja yang sudah ada.

person StSav012    schedule 19.09.2018