我正在尝试打印Excel文件中是否包含列值。
首先,我使用了if语句,然后使用了两个elif,最后使用了else。然后我将elifs改为if-else语句,因为我认为这是问题所在,但我仍然得到不正确的值。
if 'Strip Circuit ID' in ws.columns:
print('Contains Strip Circuit ID')
#col6
cell = ws.cell(row=1, column=6)
print(cell.value)
else:
if 'STRIP_EC_CIRCUIT_ID' in ws.columns:
print('Contains STRIP_EC_CIRCUIT_ID')
#col9
cell = ws.cell(row=1, column=9)
print(cell.value)
else:
if 'Circuit ID' in ws.columns:
print('Contains Circuit ID')
#col6
cell = ws.cell(row=1, column=6)
print(cell.value)
else:
print('NONE')
我希望当文件具有“ Strip Circuit ID”,“ STRIP_EC_CIRCUIT_ID”或“ Circuit ID”时,它将在if-else语句中返回值,但是程序仅返回“ NONE”。 / p>
答案 0 :(得分:1)
ws.columns
返回一个列生成器,每个列都包含单元格,因此检查没有任何意义。您必须检查每一列中每个单元格的值。
for col in ws.columns:
for cell in col:
if "Circuit ID" in cell.value:
print(cell.coordinate)