本文共 1131 字,大约阅读时间需要 3 分钟。
在处理Excel数据时,为了更高效地读取特定范围内的数据,可以使用openpyxl库中的iter_rows方法来限制读取的行和列范围。以下是具体实现方式和详细说明:
from openpyxl import load_workbookfile_path = r'C:\Leon\python_project\oceanxecm\2025\04\20250410-Logan-ocr位置\excel\【水光瓶2.5】Copy template - 普通食品 version 2024-RA(绿字)-需改表格.xlsx'sheet_name = '外盒Input and approval'workbook = load_workbook(filename=file_path)sheet = workbook[sheet_name]min_row = 16max_row = sheet.max_rowmin_col = 8max_col = 10for row in sheet.iter_rows(min_row=min_row, max_row=max_row, min_col=min_col, max_col=max_col, values_only=True): print(row)
在上述代码中,iter_rows方法通过设置min_row、max_row、min_col和max_col参数,来指定读取数据的行和列范围。具体说明如下:
min_row=16:从第16行开始读取数据。max_row=sheet.max_row:读取到工作表的最后一行,即sheet.max_row。min_col=8:从第8列开始读取数据。max_col=10:读取到第10列结束。values_only=True:只获取单元格的值,而不是单元格对象。在实际应用中,建议注意以下几点:
动态获取最大行列数:为了确保读取到最新的数据范围,建议使用sheet.max_row和sheet.max_column来获取工作表的最大行数和列数。这可以避免手动设置参数时可能出现的错误。
灵活设置范围:如果你知道具体的最大行数,也可以直接指定max_row的值,而不是使用sheet.max_row。这取决于你的具体需求和数据的变化情况。
为了进一步提高读取效率,可以根据实际需求对读取范围进行调整。例如,如果你只需要读取特定的几行,可以将max_row设置为具体的值:
max_row = 20 # 只读取到第20行
这种方式可以减少不必要的数据读取,提高处理效率。
转载地址:http://wlqfk.baihongyu.com/