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

相关推荐
will_net6 分钟前
apollo 站点部署&C#接入
开发语言·c#·apollo
威哥爱编程27 分钟前
Python 智能体开发实战 05:一问教材内容它就编?先把答案从你自己的资料里检索出来
python·agent
java_prinln32 分钟前
RAG 面试题介绍
python·agent
威哥爱编程35 分钟前
Python 智能体开发实战 06:一个函数里塞了八百行?用状态机把批改流程拆成能回退的步骤
python·agent
晗夜未央44 分钟前
任务队列反复失败,先分清重试、阻塞和结果待核对
开发语言·javascript
熊猫钓鱼>_>1 小时前
四种书签,一条时间线:一个读书 App 的记忆颗粒与它的边界案例【鸿蒙心迹】
开发语言·华为·ai编程·harmonyos·鸿蒙·openharmony·鸿蒙pc
努力努力再努力wz1 小时前
【Lua 入门系列】Lua 函数深入理解:函数对象、多返回值、可变参数、闭包、递归与尾调用优化
开发语言·lua
Patrick在香港1 小时前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
2601_967980112 小时前
Python 初学者必备的常用内置函数
python·编程语言·内置函数·初学者·常用函数
OnlineProxy2 小时前
移动应用数据爬取:通过模拟器与流量嗅探对 API 进行逆向工程
爬虫·python·httpx