查找一行中的行数 - Python openpyxl

时间:2016-08-07 06:10:51

标签: python-3.x row line openpyxl

我的工作簿每行的列数不同。我想在长字符串中找到一个整数。如果列数始终相同,我的代码将起作用。不幸的是,当列数不同时会出现错误,因为有些单元格是空的。 (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

非常感谢你的帮助!

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