Как удалить строку в Excel?
wb = xw.Book('Shipment.xlsx')
wb.sheets['Page1_1'].range('1:1').clear()
.clear() удаляет содержимое. Я хочу удалить строку. Я удивлен, что функция .clear() работает, но не .delete()
Любой совет поможет! Спасибо
Как удалить строку в Excel?
wb = xw.Book('Shipment.xlsx')
wb.sheets['Page1_1'].range('1:1').clear()
.clear() удаляет содержимое. Я хочу удалить строку. Я удивлен, что функция .clear() работает, но не .delete()
Любой совет поможет! Спасибо
Я использую xlwings 0.11.7 с Python 3.6.0 на моей Windows7. Я делаю это, и это может работать очень хорошо:
import xlwings as xw
from xlwings.constants import DeleteShiftDirection
app = xw.App()
wb = app.books.open('name.xlsx')
sht = wb.sheets['Sheet1']
# Delete row 2
sht.range('2:2').api.Delete(DeleteShiftDirection.xlShiftUp)
# Delete row 2, 3 and 4
sht.range('2:4').api.Delete(DeleteShiftDirection.xlShiftUp)
# Delete Column A
sht.range('A:A').api.Delete(DeleteShiftDirection.xlShiftToLeft)
# Delete Column A, B and C
sht.range('A:C').api.Delete(DeleteShiftDirection.xlShiftToLeft)
wb.save()
app.kill()
sht.range('A:A').api.Delete()
(без аргументов для Delete())
- person pianoJames; 22.03.2019
Попробуйте использовать .Rows, например:
wb.sheets("Page1_1").Rows(1).Delete
Точно так же вы можете использовать .Columns для удаления столбцов:
wb.sheets("Page1_1").Columns(1).Delete
Dim wb As Workbook
в верхней части вашего скрипта. Тогда вместо вашего: wb = xw.Book('Shipment.xlsx')
используйте Set wb = xw.Book('Shipment.xlsx
)
- person Prebsus; 26.06.2017
xlwings
и python-3.x
, когда я отвечал, или нет...
- person Prebsus; 07.10.2020
for i in range(end+1, max_col):
workbook.sheets[sheet_name].api.Columns(end+1).Delete()
Я сделал это, чтобы удалить определенный диапазон столбцов, он должен работать и со строками, вам просто нужно помнить, что столбцы/строки сдвигаются, поэтому я просто остаюсь в том же столбце.