python处理Excel,从此爱上python
off999 2025-05-15 20:23 28 浏览 0 评论
python能干的事情太多,对于小白来说,只能望洋生叹,不过不要灰心, 看看我是如何使用python 处理Excel 的,你就能理解python 的简单和高效。
一、Excel文件
1、文件路径
F:/product_demo.xls
2、文件内容(原始数据)
二、常用的Excel处理诉求
1、分类汇总
2、筛选
3、产品出入库汇总
三、使用python实现上述诉求。
分类汇总:
- 成品入库数据分类汇总,python代码:
import pandas as pd # 导入pandas包,简写为pd
df = pd.read_excel(r"F:\product_demo.xls", sheet_name="成品入库") #读入原始数据
df.fillna(0, inplace=True) # 处理excel中的空值
df = df[['product', 'description', 'small_bag', '小袋数量']] #选择要进行分类汇总的列
df.rename(columns={'小袋数量': '入库'}, inplace=True) #重命名列标题
list1 = ['product', 'description', 'small_bag'] #设置分类汇总的依据
list2 = ['入库'] #设置汇总的字段
df = df.groupby(list1)[list2].sum() #分类汇总
df.reset_index(inplace=True, drop=False) #重置索引
df['description']=df['description'].astype(str) #设置字段类型
df
运行上述代码,即可得到汇总结果,如下图所示:
- 成品出库产品数据分类汇总
依葫芦画瓢写python代码:
import pandas as pd
df = pd.read_excel(r"F:\product_demo.xls", sheet_name="成品出库")
df.fillna(0, inplace=True)
df = df[['product', 'description', '包装类型', '发货', '实销', '其他出库']]
df.rename(columns={'实销': '出库'}, inplace=True)
list1 = ['product', 'description', '包装类型']
list2 = ['出库', '其他出库']
df = df.groupby(list1)[list2].sum()
df.reset_index(inplace=True, drop=False)
df['description']=df['description'].astype(str)
df
运行上述代码,即可得到汇总结果,如下图所示:
筛选客户
python代码:
import pandas as pd4
df = pd4.read_excel(r"F:\product_demo.xls", sheet_name="成品出库")
df.fillna(0, inplace=True)
df = df[['customer', 'product', 'description', '包装类型', '发货', '调货', '退货', '实销', '其他出库', '运费']]
list1 = ['customer', 'product', 'description', '包装类型']
list2 = ['发货', '调货', '退货', '其他出库', '运费']
df = df.groupby(list1)[list2].sum()
df.reset_index(inplace=True, drop=False)
df['description']=df['description'].astype(str)
customer_name=input("请输入要查询的客户名称:")
df = df[df['customer'] == customer_name]#设置筛选条件
df
运行上述代码后,会提示用户输入要查询的客户名称,输入后(这里以输入客户高树友为例说明)即可得到结果,如下图:
产品出入库汇总
思路:先分别对成品入库和成品出库数据分类汇总,再将两张表的内容合并到一起即可。
python和数据库一样,有连表的功能,就是把工作表以某种合适的方式连接起来再操作。
python代码:
import pandas as pd3
df1 = pd3.read_excel(r"F:\product_demo.xls", sheet_name="成品入库")
df2 = pd3.read_excel(r"F:\product_demo.xls", sheet_name="成品出库")
df1.fillna(0, inplace=True)
df2.fillna(0, inplace=True)
df1 = df1[['product', 'description', 'small_bag', '小袋数量']]
df2 = df2[['product', 'description', '包装类型', '实销', '其他出库']]
df1['description']=df1['description'].astype(str)
df2['description']=df2['description'].astype(str)
df1.rename(columns={'小袋数量': '入库'}, inplace=True)
df2.rename(columns={'实销': '出库'}, inplace=True)
list1 = ['product', 'description', 'small_bag']
list2 = ['入库']
df1 = df1.groupby(list1)[list2].sum()
df1.reset_index(inplace=True, drop=False)
list3 = ['product', 'description', '包装类型']
list4 = ['出库', '其他出库']
df2 = df2.groupby(list3)[list4].sum()
df2.reset_index(inplace=True, drop=False)
df3 = pd3.merge(df1, df2, how='outer', left_on=['product', 'description', 'small_bag'],#连接两表的语句。
right_on=['product', 'description', '包装类型'])
df3.fillna(0, inplace=True)
df3['库存'] = df3['入库'] - df3['出库'] - df3['其他出库']
df3 = df3[df3.index != 0]
list5 = ['product', 'description', 'small_bag', '入库', '出库', '其他出库', '库存']
df3 = df3[list5]
df4 = pd3.pivot_table(df3, index=['product', 'description', 'small_bag'],
values=['入库', '出库', '其他出库', '库存'], aggfunc=sum, margins=True)
col_order = ['入库', '出库', '其他出库', '库存']
df4 = df4.reindex(col_order, axis=1)
df4
运行结果,如下图:
学会了上述几个使用python处理Excel 数据的方法,就可以举一反三,就可以一劳永逸。
你还说你不爱python吗?
相关推荐
- 博图v19(博图v19安装过程中出错)
-
西门子博途(TIAPortal)是用于工程设计和编程的软件平台,博途V19和V18是该平台的不同版本。它们在功能、性能和用户体验上有一定的区别。以下是一些主要区别:1.新功能和性能提升...
- 小米怎么关闭自动更新(如何关闭小米自动更新系统)
-
方法/步骤分享: 1、首先找到自己手机上的设置选项。 2、找到设置之后我们看到下面有一个我的设备选项。 3、在我的设备下面有一个miui版本,点击这个版本号后面的箭头。 4、进入到系统更新...
- 隐藏的文件夹怎么才能显示出来
-
你可以打开我的电脑,随便找一个盘符点进去,然后点击左上角的组织选项,找到文件和文件夹选项,然后会弹出一个列表,找到选项显示所有文件和文件夹,把前面的勾打上就可以了。1.在资源管理器中,打开文件夹属性...
- 恢复出厂设置有什么影响吗(恢复出厂设置对有影响吗)
-
基本上没什么危害。恢复出厂设置是一次大容量的数据读写,清除,存储过程,相对一般日常使用来说,只是会对电脑的整个硬件硬盘形成一次重大磨损过程,大容量的数据读写,清除,存储,会加快硬盘的老化,但对电脑本身...
- 计算机电脑怎么设置密码(计算机在哪设置密码)
-
一、帐户 打开电脑,点击电脑左下角的开始菜单,在弹出的界面里找到“设置(齿轮形状)”。点击齿轮图标后,就会进入Windows10系统的设置界面,...
- win10密钥激活码大全专业版免费破解版
-
1不存在永久激活密钥,但可以使用一些有效期长的密钥去激活Win10专业版。2Windows10的激活方式是基于数字权利,当你购买Windows10时,系统会将您电脑的硬件信息和购买记录绑定在一起...
- 免费动态壁纸2025(免费动态壁纸2023)
-
如果你想取消2023动态壁纸,可以按照以下步骤操作:首先,在桌面上右键点击空白区域,选择“个性化”;接着,在弹出的窗口中选择“背景”,找到“壁纸”选项,选择“图片”;最后,在“壁纸”选项下面找到“浏览...
- 360游戏中心手机网页版(360网页游戏平台官网)
-
360游戏大厅的登录方法:首先,需要在应用程序中搜索并安装360手机卫士应用程序,然后打开应用程序并点击“账号与安全”选项,在页面中选择“360账号登录”并输入账号密码即可成功登录360帐号,然后点击...
- 重装系统怎样保留原来的软件
-
1、只装系统到C盘,只需要格式化C盘即可,其他盘的文件都不会清空。2、硬盘整个格式化,所有盘都需要重新分区,所有的数据都会丢失。另外,应用程序在重装系统后肯定是运行不了了,需要重装应用程序。你装的系统...
-
- 由于英语(由于生病,他不能来参加会议英语)
-
“因为”的英文短语:owingto、becauseof;“结果”的英文短语:intheendbecause读法英[b??k?z]美[b??k??z]conj.因为短语:1、justbecause正因为2、me...
-
2025-12-26 07:03 off999
-
- 手机应用占了100g怎么清除(手机应用占了100g怎么清除缓存)
-
你下载的app太多,而且每个app都是有缓存的。长时间下来数据多了那么手机的内存也就小了首先,可以尝试清理应用缓存和垃圾文件,可以通过在设置中找到“存储”选项,选择“清除缓存”和“清除垃圾文件”来进行清理。其次,可以卸载一些不常用的应用程序...
-
2025-12-26 06:51 off999
- 电脑win10系统更新怎么关闭(win10从哪关闭电脑更新)
-
如果您正在进行Windows10的系统升级,并希望取消升级,可以按照以下步骤操作:1.点击Windows开始菜单,在搜索框中键入“WindowsUpdate”并打开它。2.在“更新设置”窗口中...
- 插u盘也响就是读不出来(为啥插上u盘有声音但没反应)
-
u盘插电脑有声音不读取是因为USB大容量存储设备设置错误。1、将U盘插入电脑,然后打开此电脑。2、在系统列表界面打开“设备管理器”。3、在打开的“设备管理器”窗口中,展开“通用串行总控制器”。4、选择...
- 怎么取消电脑自动关机时间(怎么取消电脑自动关机时间限制)
-
1、在电脑键盘里找到windows和R这两个键盘,找到之后,同时按住这两个键盘。2、按住了这两个组合键之后就将可以将电脑的命令窗口打开了。3、在命令窗口里面的打开一栏里输入shutdown-a这样的...
- 三大oa办公软件(oa办公软件有哪些品牌)
-
办公自动化(OfficeAutomation,简称OA)系统,是利用先进的电子信息技术和现代办公设备构成的人机信息处理系统,辅助管理人员进行各种办公活动。OA常用于企业,是企业信息化实施的第一步。O...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
