筛选12个月中单日销售额大于300的数据,并将符合条件数据存储到新表中。
import time
from openpyxl import Workbook, load_workbook
import os
"""
筛选销售额大于300的销售数据,创建新表存储
"""
def 筛选数据(file_dir, save_dir):
files_name = os.listdir(file_dir)
# 创建新表格
new_wb = Workbook()
new_ws = new_wb.active
header = ['销售日期', '员工工号', '销售员', '货号', '销售单号', '销量', '销售额']
new_ws.append(header)
# 向新的表格写入数据
for file_name in files_name:
wb = load_workbook(file_dir + "\\" + file_name)
for sheet in wb.sheetnames:
ws = wb[sheet]
# 设置values_only=True 则可以直接得到单元格中的值
for row in ws.iter_rows(min_row=2, values_only=True):
if row[6] > 300: # 第7列为销售额
new_ws.append(row)
print('日销售额大于300的数据为 %s 行' % (new_ws.max_row - 1)) # 去除第一行标题
# 数据保存
if not os.path.exists(save_dir):
os.makedirs(save_dir)
new_wb.save(save_dir + "\\" + "单日销售额大于300.xlsx")
if __name__ == '__main__':
开始时间 = time.time()
筛选数据(r"D:\2021年销售明细", r"D:\2021年销售分析\日销售额大于300")
print('筛选完成耗时:', time.time() - 开始时间, "秒")
课程总结
自动化操作Excel是自动化办公的重要组成部分。这节课我们学了通过openpyxl打开、新建、读取、修
改和保存excel表格。
sheet[]跟sheet.iter_rows()方法是读取表格数据的重点方法,append()方法则是能将获得的数据快速
插入到excel, 这几个方法都是操作excel极为常用的方法。大家一定要牢记这些方法的应用特点,相信遇
到相应的需求时都能化繁为简,快速得到自己想要的结果。
参考:
python实战一:合并多个Excel中数据
我用夸克网盘分享了
视频+源码
链接:https://pan.quark.cn/s/24656f39210f