Пропустить первую строку в Openpxyl - PullRequest
0 голосов
/ 19 января 2019

Привет, у меня есть следующий код

wb_obj = openpyxl.load_workbook(path, data_only=True) 
worksheet = wb_obj.get_sheet_by_name('Sheet1')

for row_cells in worksheet.iter_rows():
    for cell in row_cells:
       print('%s: cell.value=%s' % (cell, cell.value) )

это хорошо работает. однако мне не нужно показывать данные из первой строки, которая является строкой заголовка. Как изменить запрос, чтобы исключить первую строку?

Ответы [ 4 ]

0 голосов
/ 07 июля 2019

Вы можете просто нарезать лист таким образом.

worksheet[2: worksheet.max_row]
0 голосов
/ 19 января 2019

Поскольку iter_rows является генератором, мы, к сожалению, не можем вырезать первую строку [1:], так что это хакерский, но эффективный способ пропустить первую строку.

for i, row_cells in enumerate(worksheet.iter_rows()):                              
    if i == 0:                                                                              
        continue                                                            
    for cell in row_cells:                                                  
        print('%s: cell.value=%s' % (cell, cell.value)) 
0 голосов
/ 19 января 2019

Документация предлагает использовать iter_rows

for row_cells in worksheet.iter_rows(min_row=2):
    for cell in row_cells:
        print('%s: cell.value=%s' % (cell, cell.value) )
0 голосов
/ 19 января 2019

Просто перечислите строки, используя функцию enumerate(), а затем получите индекс и значение ячейки в 2 разных переменных, таких как

for index, row_cells in enumerate(worksheet.iter_rows()):
    if (index == 0):
       continue
    for cell in row_cells:
       print('%s: cell.value=%s' % (cell, cell.value))
...