只要是和数据打交道的人,就避免不了接触 Excel。对于大量的重复性工作,靠人工往往会耗费大量的时间。借助 Python 编程,可以批量自动化完成这些操作,起到事半功倍的效果。Pandas 模块,它能够方便快捷地处理 Excel 数据,但是对于 Excel 格式的设置,借助 openpyxl 模块是一个很好的选择。插入 / 删除行与列
由于业务的变动,我们需要对原来的数据区域进行一定的修改。比如在指定位置新增几行、几列,或者删除某些行、某些列,应该怎么办呢?1. 插入行或列
在 openpyxl 模块中,提供了 insert_rows() 和 insert_cols() 方法,帮助我们插入行和空列。它们的语法格式如图所示。如图所示,要想在第 3 行的上方插入 1 行,在第 2 列的左侧插入 1 列,应该怎么操作呢?from openpyxl import load_workbookwb = load_workbook("两广两湖.xlsx")ws = wb["湖南"]ws.insert_rows(idx=3, amount=1)ws.insert_cols(idx=2, amount=1)wb.save("两广两湖_插入行和列.xlsx")
在获取工作表对象 ws 后,调用 insert_rows() 方法,我们在第 3 行数据前方插入了 1 个空白行(见 1)。接着,再调用 insert_cols() 方法,我们在第 2 列的左侧插入了 1 个空白列(见 2),最终效果如图所示。2. 删除行或列
在 openpyxl 模块中,调用 delete_rows() 和 delete_cols() 方法,可以帮助我们删除行和列,它们的语法格式如图所示。如下图所示,要想删除第 3 行和第 2 列的数据,应该如何操作呢?from openpyxl import load_workbookwb = load_workbook("两广两湖.xlsx")ws = wb["湖南"]ws.delete_rows(idx=3, amount=1)ws.delete_cols(idx=2, amount=1)wb.save("两广两湖_删除行和列.xlsx")
在获取工作表对象 ws 后,调用 delete_rows() 方法,我们删除了第 3 行数据下方连续 1 行的数据(见 1)。接着,再调用 delete_cols() 方法,我们删除了第 2 列右侧连续 1 列的数据(见 2),最终效果如图所示。自动化excel的完整版文章pdf以及示例的excel源文件和jupyter源文件,我打包上传到网盘,可以私信回复“自动化excel”获取下载地址