You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改OpenPyXL代码以跳过Excel表头行?

跳过OpenPyXL遍历中的第一行表头

嘿,这个需求很容易实现,给你两种实用的方法来跳过第一行表头:

方法1:使用iter_rows的min_row参数(推荐)

OpenPyXL的行号是从1开始计数的,我们可以直接在iter_rows()里指定min_row=2,让迭代从第二行开始,这样就自动跳过了第一行的表头。这种方法效率更高,尤其是处理大工作表时,不会额外占用内存:

wb_obj = openpyxl.load_workbook(path, data_only=True)
worksheet = wb_obj['Sheet1']  # 这里推荐用这种方式获取工作表,替代已过时的get_sheet_by_name
for row_cells in worksheet.iter_rows(min_row=2):
    for cell in row_cells:
        print('%s: cell.value=%s' % (cell, cell.value))

方法2:对行迭代器做切片

如果你更习惯用切片的思路,可以把iter_rows()返回的迭代器转换成列表,然后跳过第一个元素(对应第一行)。不过注意,这种方法会把所有行加载到内存里,不适合超大型工作表:

wb_obj = openpyxl.load_workbook(path, data_only=True)
worksheet = wb_obj['Sheet1']
# 转成列表后取[1:],跳过索引0对应的第一行
for row_cells in list(worksheet.iter_rows())[1:]:
    for cell in row_cells:
        print('%s: cell.value=%s' % (cell, cell.value))

另外提个小建议:get_sheet_by_name在OpenPyXL的新版本中已经被标记为过时(deprecated)了,用wb_obj['Sheet1']这种索引方式获取工作表是更规范的写法哦。

内容的提问来源于stack exchange,提问作者Bilal Habib

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:44:18