使用python openpyxl,如何跳过前几行?

时间:2015-03-08 17:06:21

标签: python excel openpyxl

我正在使用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读取时如何跳过前几行?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您可以通过传递可选的N参数来跳过前min_row行。请注意,这使用的是 1基索引,因此min_row=2从第二行开始,而min_row=5跳过前四行。您将使用类似这样的内容:

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

Full iter_rows documentation.