有没有遇到过Excel表格任意行插入不规则的任意个空白行的需求?如果内容很少还好,可以手动完成。那如果有几百上千行数据,然后每行后面都需要插入指定的无规则空白行需要怎么实现呢?手动添加那不得累死在电脑旁,不用怕,几行python代码就能搞定。
在所有python环境都配置好的情况下,本次操作只需要引入openpyxl模块。当然,如果本地没有安装openpyxl模块的,只需要执行安装即可。
pip install openpyxl
创建python文件,并复制下面的代码:
import openpyxl
fileName = "../data/测试数据.xlsx"
workbook = openpyxl.load_workbook(fileName) # 返回一个workbook数据类型的值
ws = workbook.active
# sheet = workbook.active # 获取活动表 默认第一个表
# 获取名字为Sheet1的表
sheet = workbook["Sheet1"]
# print('当前活动表是:' + str(sheet))
# 定义 获取某一列的值
rowValue = []
# 获取k列的值
for cell in sheet['k']:
rowValue.append(cell.value)
# print(rowValue)
# 定义空行总和
emptyNum = 0
# 通过enumerate函数获取数组索引,index为索引,val为需要添加的空行
for index,val in enumerate(rowValue):
# print(index,val)
# 第几行下面插入多少:k+1+(k-1列的n之和) 第k行 + 1 + (k-1)的空行总和
if val > 0:
# idx 为第几行插入 因为inx 从1开始,而index从0,故计算的时候要先+1
sheet.insert_rows(idx=(index+1+1+emptyNum), amount=val)
emptyNum += val
# print(emptyNum)
workbook.save(fileName)
注意:
你需要在你要操作的Excel表格中某一列填写你需要在某一行下面要添加空白行的数量,不添加写0即可。此Demo中,在第K列标记了每行下面需要添加的空白行个数。
fileName:为你要操作的Excel文件
workbook["Sheet1"]:Sheet1表示你要操作的Excel文件中的名字为Sheet1的表
sheet['k']:k即为标记每行添加空白行个数的一列
openpyxl文档
python官网