如何跳过 Excel 工作表的前几行?

Posted

技术标签:

【中文标题】如何跳过 Excel 工作表的前几行?【英文标题】:How can I skip first several lines of the Excel sheet? 【发布时间】:2015-03-08 17:06:20 【问题描述】:

使用openpyxl 我尝试从第五行读取一些文件。文件的前四行是标题。然后主要内容的格式与标题不同。我尝试了这个方法:

import openpyxl
file_name="xxx.xlsx"
wb = openpyxl.load_workbook(filename=file_name, use_iterators = True)
first_sheet = workbook.get_sheet_names()[0]
ws = workbook.get_sheet_by_name(first_sheet)

for index, row in enumerate(ws.iter_rows()):
    if start < index < stop:
        for c in row:
           print c.value

总会报错:

IndexError: 列表索引超出范围

如果我删除前四行,数据可以很容易地读入 Python。但是我有数百个这样的文件,每个文件都有一个四行的标题。从文件中删除所有标题需要很长时间。

正确使用openpyxl阅读时如何跳过前几行?

【问题讨论】:

【参考方案1】:

您可以将范围传递给ws.iter_rows('A4:Z256'),但最好使用ws.get_squared_range(1, 5,)

【讨论】:

【参考方案2】:

您可以通过传递可选的min_row 参数来跳过第一行N。请注意,这使用 1 基索引,因此 min_row=2 从第二行开始,min_row=5 跳过前四行。你会使用这样的东西:

for index, row in enumerate(ws.iter_rows(min_row=5)):

Full iter_rows documentation.

【讨论】:

以上是关于如何跳过 Excel 工作表的前几行?的主要内容,如果未能解决你的问题,请参考以下文章

SqlSever基础 top 查看一个数据库的表的所有列的前几行

SqlSever基础 top 查看一个数据库的表的指定列的前几行

如何访问自定义 SQL 标量函数中的前几行?

在excel中如何取消工作表的保护命令

如何正确地从 Excel 工作表的 VBA 连接到另一个 Excel 工作表?

VB导入Excel到数据前