带你走进 @ 机器人时代

Discover 点击上面蓝色文字,关注我们


Python
自动化操作单元格,每隔一行插入空白行,实现代码如下:

from openpyxl import load_workbook wk = load_workbook('工资表.xlsx') ws = wk['工资表'] #设置插入空白行的行数 n = 1 #获取最大行数 last_n = ws.max_row #循环处理插入空白行 for i in range(0, last_n): #插入空白行 ws.insert_rows(i * (n + 1) + 3, n) wk.save('工资表1.xlsx')

我们来对比一下效果,执行前:

执行后:

如果你只是想在某一处插入1行或2行空白行,可以使用以下代码:

from openpyxl import load_workbook wk = load_workbook('工资表.xlsx') ws = wk['工资表'] ws.insert_rows(8, 2) wk.save('工资表1.xlsx')


这里我们指定了在第8行插入2行空白行,来看看效果:

成功了!这是对表格添加行的操作,列的操作也是一样的道理:

from openpyxl import load_workbook wk = load_workbook('工资表.xlsx') ws = wk ['工资表'] #插入空白列 ws.insert_cols(5, 1) wk .save('工资表1.xlsx')


上述代码表示在第5列处插入一个空白列,我们来看看效果:

如果我们希望删除指定的行,也是很简单的事情,我们来看看:

红色框内的数据是我们想删除的,看看代码:

from openpyxl import load_workbook wk = load_workbook('工资表.xlsx') wt = wk['工资表'] #删除第五行 wt.delete_rows(5, 1) wk.save('工资表1.xlsx')

运行后,我们看看:

第5行赵**的记录被删除了!删除列的代码如下:

from openpyxl import load_workbook wk = load_workbook('工资表.xlsx') wt = wk['工资表'] #从第5列开始,删除两列 wt.delete_cols(5, 2) wk.save('工资表1.xlsx')

大家可以自己测试一下,不过还有另外一个方法就是使用pandas的方法,代码如下:

import pandas as pd data = pd.read_excel('工资表.xlsx', sheet_name=0) data.drop(columns=['绩效工资', '社保扣款'], inplace=True) data.to_excel('工资表1.xlsx', sheet_name='工资表', index=False)

大家可以自行测试一下。下面我们看看如何在表格中追加一条数据:

import xlwings as xw app = xw.App(visible=False, add_book=False) #设置要添加的数据 n=['HS0009,刘备','¥2,200','¥1,200','¥2,000','¥400','¥100','¥4,900' ] #选定要操作的表格 wk = app.books.open('工资表.xlsx') ws = wk.sheets['工资表'] #读取表格数据 data = ws.range('A1').expand('table') #获得表格数据条数 num = data.shape[0] #追加记录 ws.range(num + 1, 1).value = n #保存关闭 wk.save() wk.close() app.quit()

运行后:

这样,我们就把新员工刘备的工资追加到最后一行了。那么有一张销售工作表,我们希望根据利润情况,追加一列数据,并设置为等级:

import pandas as pd data = pd.read_excel('销售表.xlsx', sheet_name=0) #获取利润列的数据 max_data = data['利润'].max() #根据数据作出比较 level = [0, 5000, 10000, max_data] level_names = ['差', '良', '优'] #添加一列数据,根据上面的结果,写入数据 data['等级'] = pd.cut(data['利润'], level, labels=level_names) #写入Excel表格 data.to_excel('销售表1.xlsx', sheet_name='总表', index=False)

我们来看看运行后的效果:

根据利润情况,写入相应的等级。估计你一定没有看懂,没关系,我们将在下一期的文章里剖析一下。

继续坚持学习,每天都能进步一点!!!


往期回顾:

  • 来来来,送你一个金牌销售机器人,7X24小时不休,不要工资免费用!
  • 不要嫌你现在的工作很累,可能你离失业不远了!
  • 作为旅游行业的一个小老板,我受够了!这是要被淘汰的节奏吗?


本文引用和摘录相关内容,请联系侵删。

- END -


最后,文章有帮助到你的话【点赞在看
激励我们分享更多的干货!