如何使用openpyxl删除excel中的第一行

问题描述 投票:1回答:2

我有一个excel文件,我正在尝试读取第一行将其传递给另一个函数并从excel中删除第一行并保存,直到excel文件中的所有行都用完为止。

我尝试使用openpyxl我能够在第一次尝试时删除第一行但是当我再次尝试读取excel文件时它会给我这个例外

openpyxl.utils.exceptions.CellCoordinatesException: There is no row 0 (A0)

这是我的代码

import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet['A1'].value
print(status)
sheet.delete_rows(0, 1)
wb.save(filename)
python excel python-3.x
2个回答
0
投票

未经测试,但以下调整应修复它。而不是阅读'A1'和删除行0你使用min_row寻找第一个非空行并读取并删除它。

import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet.cell(sheet.min_row, 1).value
print(status)
sheet.delete_rows(sheet.min_row, 1)
wb.save(filename)


1
投票

一旦用delete_rows(beg_row, end_row)删除行,它们的索引也会被删除,这意味着不再存在索引0的行。

© www.soinside.com 2019 - 2024. All rights reserved.