python实战二-筛选多个Excel中数据

筛选12个月中单日销售额大于300的数据,并将符合条件数据存储到新表中。

python 复制代码
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

相关推荐
姑苏风1 分钟前
《Kotlin实战》-附录
android·开发语言·kotlin
奋斗的小花生1 小时前
c++ 多态性
开发语言·c++
魔道不误砍柴功1 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
闲晨1 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
_.Switch1 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
老猿讲编程1 小时前
一个例子来说明Ada语言的实时性支持
开发语言·ada
Chrikk2 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*2 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue2 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang
杜杜的man3 小时前
【go从零单排】go语言中的指针
开发语言·后端·golang