网站首页 > 技术文章 正文
职场人的时间该用在刀刃上!告别低效手工操作,从 Python 自动化思路入手
现在你就是拥有 3 家分店的水果连锁店老板,收到店长们提交的季度销售表后,却无法快速掌握整体销售情况?别担心,手把手教你用 Python 实现销售数据高效汇总!
三个表格的格式:
我的编程思路:
最终效果:
代码分享:
导入pandas库,这是数据分析库,后台会自动调用openpyxl去读取和写入(仅xlsx格式),如果是xls格式会调用xlrd
import pandas as pd
填写文件路径,因为示例才3个,所有未使用os库,os库可以读取文件夹内所有excel表路径
并创建空列表,用于后续获取的数据存储
# 定义文件路径
文件路径 = ["李晓燕1号店.xlsx", "林佳2号店.xlsx", "张丹3号店.xlsx"]
# 存储所有数据的列表
数据存储 = []
挨个读取表格内容,并将内容存储至空列表里
for 文件 in 文件路径:
df = pd.read_excel(
文件,
sheet_name=0, # 读取第一个工作表
usecols="A:D", # 读取A到D列
header=0 # 第一行作为列标题
)
# 添加到数据列表
数据存储.append(df)
合并数据,例如:草莓,在2、5、15、22行均有数据,即将这些行的、每一列都进行累计
# 合并所有数据
合并后数据 = pd.concat(数据存储, ignore_index=True)
# 按产品名称分组并求和
求和结果 = 合并后数据.groupby('产品', as_index=False).agg({
'3月销量': 'sum',
'4月销量': 'sum',
'5月销量': 'sum'
})
'5月销量': 'sum':这个是pandas的聚合函数,代表累加的意思
常用聚合函数有这些:
累计去重后计算三店各产品的季度总销量
求和结果['总销量'] = 求和结果['3月销量'] + 求和结果['4月销量'] + 求和结果['5月销量']
保存输出新文件
求和结果.to_excel(r"三店销量汇总.xlsx", index=False)
为了数据更直观,可进行排序,这里以总销量进行排序
求和结果 = 求和结果.sort_values('总销量', ascending=False).reset_index(drop=True)
ascending:如果是False是降序,True是升序,以下是降序输出结果
代码是工具,思路才是核心。期待你用这些方法,解锁属于自己的高效办公方案!欢迎骚扰,咱们下期见!
- 上一篇: Excel一列数据,快速转换多行多列,你会么?
- 下一篇: Excel如何快速查询录入表格整行数据
猜你喜欢
- 2025-09-12 每天一个Python库:lxml全面实战指南,爬虫解析速度翻倍
- 2025-09-12 Excel中比Vlookup强大的查找函数Xlookup常用用法
- 2025-09-12 每天一个 Python 库:pandas 办公利器,数据处理效率翻倍!
- 2025-09-12 前端入门——html 表单_html做前端
- 2025-09-12 机器视觉——opencv 双目标定操作完整版
- 2025-09-12 2小时快速搭建一个高可用的IM系统
- 2025-09-12 Word 神器 python-docx_python中的word
- 2025-09-12 WPS 高效数据提取神器:TAKE 函数,让数据筛选告别繁琐
- 2025-09-12 使用高斯混合模型(GMM)分割图像_高斯混合模型的常见应用领域
- 2025-09-12 IE法提取网页数据_快速提取网页数据
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)