如何用OpenPyXL提取符合特定条件的工作簿列数据?
OpenPyXL 数据提取解决方案
修正后的代码
from openpyxl import load_workbook wb = load_workbook('credito.xlsx') ws = wb.active result_data = [] # 从第2行开始遍历所有数据行(跳过表头),直接获取单元格值 for row in ws.iter_rows(min_row=2, values_only=True): # 对应列索引:B列是索引1,G列是索引6 if row[1] == 1 and row[6] == 'SOLTEIRO': # 提取A(0)、C(2)、D(3)列的值 result_data.append([row[0], row[2], row[3]]) # 输出结果 for entry in result_data: print(entry)
关键修正点
- 移除了
max_row=2的限制,确保遍历所有数据行,而非仅第2行 - 使用
values_only=True直接获取单元格的值,无需额外处理cell对象,简化代码 - 明确列索引对应关系:A列对应索引0,B列索引1,C列索引2,D列索引3,G列索引6
- 修正条件判断逻辑,同时校验B列值为
1、G列值为SOLTEIRO两个条件,符合要求才提取目标列数据
内容的提问来源于stack exchange,提问作者NiltonSN
相关产品推荐
相关产品推荐

