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