使用pythonopenpyxl库从第一列开始遍历excel中的每一列判断是否存在数大于16或小于03并返回列数
以下是一个示例代码,它使用openpyxl库遍历excel中的每一列并检查是否存在大于1.6或小于0.3的数字。如果存在,则返回该列的列号。
import openpyxl
def check_excel_for_values(filename):
# 打开Excel文件
workbook = openpyxl.load_workbook(filename)
sheet = workbook.active
# 获取Excel文件中的列数和行数
max_col = sheet.max_column
max_row = sheet.max_row
# 从第一列开始遍历每一列
for col in range(1, max_col+1):
# 假设该列没有大于1.6或小于0.3的数字
found = False
# 遍历该列的每一行
for row in range(1, max_row+1):
# 获取单元格的值
cell_value = sheet.cell(row=row, column=col).value
# 如果单元格的值大于1.6或小于0.3,将found标记为True
if isinstance(cell_value, (int, float)) and (cell_value > 1.6 or cell_value < 0.3):
found = True
break
# 如果找到了大于1.6或小于0.3的数字,则返回该列的列号
if found:
return col
# 如果没有找到大于1.6或小于0.3的数字,则返回None
return None
要使用此函数,只需将Excel文件的文件名作为参数传递给它。例如,使用以下代码调用该函数:
filename = 'example.xlsx'
result = check_excel_for_values(filename)
if result:
print(f"找到了大于1.6或小于0.3的数字的列号为:{result}")
else:
print("没有找到大于1.6或小于0.3的数字。")
请注意,此示例代码仅考虑了数字类型的单元格。如果要考虑其他类型的单元格(例如文本或布尔值),需要修改代码以适应这些类型的值
原文地址: https://www.cveoy.top/t/topic/fTCP 著作权归作者所有。请勿转载和采集!