#python #openpyxl
Вопрос:
files = glob.glob (r'C:testPhase 1A*.xlsm')
for file in files:
print(file)
wb = openpyxl.load_workbook(filename=file,data_only=True)
ws = wb.active
for row in ws.iter_rows():
for cell in row:
if cell.value == "Vessel Volume":#search for Volume
idxr=cell.row #where idxr is the index of the row
idxc=cell.column #where idxc is the index of the column
a=ws.cell(idxr,idxc 1).value
elif cell.value == "Phase":#search for Phase
idxr=cell.row
idxc=cell.column
b=ws.cell(idxr,idxc 1).value
elif cell.value == "Test#":#search for Test#
idxr=cell.row
idxc=cell.column
c=ws.cell(idxr,idxc 1).value
elif cell.value == "Concentration":#search for Concentration
idxr=cell.row
idxc=cell.column
d=ws.cell(idxr,idxc 1).value
elif cell.value == "Time Delay":#search for Time Delay
idxr=cell.row
idxc=cell.column
e=ws.cell(idxr,idxc 1).value
elif cell.value == "PstatnEffective":#search for Pred by locating Pstat Effective
idxr=cell.row
idxc=cell.column
f=ws.cell(idxr 1,idxc 4).value
elif cell.value == "NON Existent":
idxr=cell.row
idxc=cell.column
g=ws.cell(idxr,idxc).value
g1.append(g)
a1.append(a)
b1.append(b)
c1.append(c)
d1.append(d)
e1.append(e)
f1.append(f)
Здравствуйте, я новичок в python и openpyxl.
Я хотел бы создать массивы одинакового размера(или списки) a1,b1,c1,d1,e1,f1 и g1.В своем коде я ищу определенные выражения в ячейках списка файлов Excel и добавляю их в массивы.
У меня проблема только с переменной g. Строка «НЕ существует» существует только для некоторых файлов xlsm. Я хочу каждый раз, когда во всем файле Excel нет такой строки, получать время g=0 или «N/A» в мой массив и добавлять его.
Большое спасибо за любую помощь, которую вы можете оказать!
Ответ №1:
Самый простой способ-проверить длину g1
в конце. Если он равен нулю, то вы знаете, что на листе не было «НЕСУЩЕСТВУЮЩИХ» значений.
# After your other appends...
e1.append(e)
f1.append(f)
if len(g1)==0:
# Do whatever here...
Есть более элегантные способы, но это красиво и просто.
Примечание. Предположение g1
определено где-то в другом месте кода, не показанном здесь, потому что вы не можете добавить что-то, что еще не определено.