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

相关推荐
寻星探路10 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
lly20240611 小时前
Bootstrap 警告框
开发语言
2601_9491465312 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
曹牧12 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
KYGALYX12 小时前
服务异步通信
开发语言·后端·微服务·ruby
zmzb010312 小时前
C++课后习题训练记录Day98
开发语言·c++
ValhallaCoder12 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
猫头虎13 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
YUJIANYUE13 小时前
PHP纹路验证码
开发语言·php
仟濹14 小时前
【Java基础】多态 | 打卡day2
java·开发语言