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

相关推荐
南境十里·墨染春水2 分钟前
linux学习进展 线程同步——条件变量
java·开发语言·学习
qq_372906935 分钟前
怎么通过宝塔面板对网站数据库进行深度碎片整理_使用Optimize命令优化表空间资源占用
jvm·数据库·python
财经资讯数据_灵砚智能5 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年4月24日
人工智能·python·信息可视化·自然语言处理·ai编程
sghuter5 分钟前
数字资源分发的技术架构与未来趋势
c语言·开发语言·后端·青少年编程
惊鸿若梦一书生8 分钟前
《Python 高阶教程》016|偏函数与柯里化:把复杂调用拆成更简单的组合
linux·网络·python
普修罗双战士13 分钟前
【开发工具IDEA调试,高频使用, IntelliJ IDEA 调试快捷键完全指南】
java·开发语言·intellij-idea
海参崴-20 分钟前
C++ 进阶篇 STL 模拟实现二叉搜索树
开发语言·c++
山顶夕景23 分钟前
【VLM】结合Python沙箱的以图思辨S1-VL模型
python·大模型·llm·agent·多模态·vlm
Sakuyu4346824 分钟前
C语言基础(三)
c语言·开发语言
郝学胜-神的一滴27 分钟前
深入epoll反应堆模型:从libevent源码看高性能IO设计精髓
linux·服务器·开发语言·c++·网络协议·unix·信息与通信