我的工作簿每行的列数不同。我想在长字符串中找到一个整数。如果列数始终相同,我的代码将起作用。不幸的是,当列数不同时会出现错误,因为有些单元格是空的。 (AttributeError:' NoneType'对象没有属性' find')
如何确定每一行的列数以避免此错误?发明这个问题的任何其他方法都非常受欢迎。
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
非常感谢你的帮助!
答案 0 :(得分:0)
我用if问题解决了这个问题:
while k < (num_cols+1):
stringresult=List.cell(row=i, column=k).value
if type(stringresult) is str:
start=stringresult.find("PI:i:")
end=stringresult.find("PI:f:")
worksheet_PI.cell(row=i,column=k,value=int(stringresult[start+5:end]))
k=k+1
k=2