实例05—辛苦修改3小时,Python赶来帮大忙
模拟场景需求:
由于天气寒冷,大雪封路,加上疫情防控需要,快递涨价,公司不得不对曾经包邮的产品价格做出调整,由于包邮产品众多且五花八门,如果采取一个个查找,再修改商品价格,至少需要3个小时才能完成,有没有批量的计算机自动完成的呢?第三方软件肯定是没有的,这时Python处理Excel文件的模块openpyxl派上用场了,看我怎么样用它搞定我们的“海量数据中批量修改大数据”。
3小时眼花手酸Excel表格大数据修改,Python3分钟搞定
1、用到的知识点:
Python的循环,字符串及操作方法,wb对象基本操作,ws整列读写方法等,
2、用到的文件:
网络公开的Excel文件,淘宝爆款清单2017版,是一个超大型的Excel文件,足足有四千多行的数据,如需要请下载,通过阿里云盘分享,链接如下:https://www.aliyundrive.com/s/8xbUHENrDzC
待处理数据
通过关键字,3分钟批量修改Excel大数据
3、修改要求:
对于商品名称中带有“包邮”字样的商品,其价格加上1.88元,并且更新,修改完毕后保存到新的文件中,以防万一程序有缺陷,将电子表改错。
4、操作步骤思维导图:
5、代码操作编写截图:
代码截图1
代码截图2
give your the code:
from openpyxl import load_workbook
wb = load_workbook('淘宝爆款清单.xlsx')
ws = wb.active
# 方案一:逐行读取全表格
for i in range(2,ws.max_row+1):
tmp_name = ws.cell(row=i,column=5).value #逐行的第5列数据
if '包邮' in tmp_name:
# 由于每行对应的价格是文本数据,需要转化成float再加上1.88
ws.cell(row=i,column=6).value = float(ws.cell(row=i,column=6).value) + 1.88
# 错误方式:ws.cell(row=i,column=6).value += 1.88
# 方案二:按列遍历
# 选取商品名称所在列,这里是E列
# cells = ws['E']
# for cell in cells:
# i = cell.row
# j = cell.column
# tmp_name = cell.value
# if '包邮' in tmp_name:
# ws.cell(i,j+1).value = float(ws.cell(i,j+1)) + 1.88
6、运行结果展示:
展示正确结果
网友们可以结合本例子进行大数据批量修改,要举一反三,灵活应用,不懂基础的操作的可以参考我的Python处理Excel入门视频合集哦<>
亲,要亲自动手敲,复制一时爽,学坏没商量^_^,实战课程的视频随后会推出,请多多关注哦。
最新评论