使用openpyxl插入列

使用openpyxl插入列,第1张

使用openpyxl插入列

尚未

.EntireColumn.Insert
在openpyxl中找到任何东西。

我首先想到的是通过修改工作表上的_cell手动插入列。我认为这不是插入列的最佳方法,但是它可以工作:

from openpyxl.workbook import Workbookfrom openpyxl.cell import get_column_letter, Cell, column_index_from_string, coordinate_from_stringwb = Workbook()dest_filename = r'empty_book.xlsx'ws = wb.worksheets[0]ws.title = "range names"# inserting sample datafor col_idx in xrange(1, 10):    col = get_column_letter(col_idx)    for row in xrange(1, 10):        ws.cell('%s%s' % (col, row)).value = '%s%s' % (col, row)# inserting column between 4 and 5column_index = 5new_cells = {}ws.column_dimensions = {}for coordinate, cell in ws._cells.iteritems():    column_letter, row = coordinate_from_string(coordinate)    column = column_index_from_string(column_letter)    # shifting columns    if column >= column_index:        column += 1    column_letter = get_column_letter(column)    coordinate = '%s%s' % (column_letter, row)    # it's important to create new Cell object    new_cells[coordinate] = Cell(ws, column_letter, row, cell.value)ws._cells = new_cellswb.save(filename=dest_filename)

我了解此解决方案非常丑陋,但希望它能帮助您朝正确的方向思考。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5648075.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存