0
我的工作簿每行的列數有所不同。我想在一個長字符串中找到一個整數。如果列數始終相同,我的代碼就可以工作。不幸的是,當柱子數量不同時,由於某些單元格是空的,所以出現錯誤。 (AttributeError:'NoneType'對象沒有屬性'find')查找一行中的行數 - Python openpyxl
我怎樣才能找出每一行的colums數量來避免這個錯誤?非常感謝任何其他方法來發明這個問題。
num_rows = List.max_row
num_cols = List.max_column
while i < (num_rows + 1):
filename = List.cell(row=i, column=1).value
worksheet_AS.cell(row=i, column=1, value=filename)
while k < (num_cols+1):
stringresult = List.cell(row=i, column=k).value
start = stringresult.find("AS:i:")
worksheet_AS.cell(row=i,column=k,value=int(stringresult[start+5:start+8]))
k = k + 1
k = 2
i=i+1
非常感謝您的幫助!
你爲什麼要增加'一個k',然後立即將其設置爲2? – DeepSpace
感謝您的評論。這是一個格式錯誤。 k = 2,然後在while循環後遞增並設置回2 – Philipp
只需向您的代碼添加條件'if stringresult is None'。此外,您的代碼可以更好地使用openpyxl API和更多Pythonic。 –