python处理Excel,从此爱上python
python能干的事情太多,对于小白来说,只能望洋生叹,不过不要灰心,看看我是如何使用python处理Excel的,你就能理解python的简单和高效。
一、Excel文件
1、文件路径
F:productdemo。xls
2、文件内容(原始数据)
成品入库工作表
成品出库工作表
二、常用的Excel处理诉求
1、分类汇总
2、筛选
3、产品出入库汇总
三、使用python实现上述诉求。分类汇总:成品入库数据分类汇总,python代码:importpandasaspd导入pandas包,简写为pd
dfpd。readexcel(rF:productdemo。xls,sheetname成品入库)读入原始数据
df。fillna(0,inplaceTrue)处理excel中的空值
dfdf〔〔product,description,smallbag,小袋数量〕〕选择要进行分类汇总的列
df。rename(columns{小袋数量:入库},inplaceTrue)重命名列标题
list1〔product,description,smallbag〕设置分类汇总的依据
list2〔入库〕设置汇总的字段
dfdf。groupby(list1)〔list2〕。sum()分类汇总
df。resetindex(inplaceTrue,dropFalse)重置索引
df〔description〕df〔description〕。astype(str)设置字段类型
df
运行上述代码,即可得到汇总结果,如下图所示:
成品入库产品数据分类汇总成品出库产品数据分类汇总
依葫芦画瓢写python代码:importpandasaspd
dfpd。readexcel(rF:productdemo。xls,sheetname成品出库)
df。fillna(0,inplaceTrue)
dfdf〔〔product,description,包装类型,发货,实销,其他出库〕〕
df。rename(columns{实销:出库},inplaceTrue)
list1〔product,description,包装类型〕
list2〔出库,其他出库〕
dfdf。groupby(list1)〔list2〕。sum()
df。resetindex(inplaceTrue,dropFalse)
df〔description〕df〔description〕。astype(str)
df
运行上述代码,即可得到汇总结果,如下图所示:
筛选客户
python代码:importpandasaspd4
dfpd4。readexcel(rF:productdemo。xls,sheetname成品出库)
df。fillna(0,inplaceTrue)
dfdf〔〔customer,product,description,包装类型,发货,调货,退货,实销,其他出库,运费〕〕
list1〔customer,product,description,包装类型〕
list2〔发货,调货,退货,其他出库,运费〕
dfdf。groupby(list1)〔list2〕。sum()
df。resetindex(inplaceTrue,dropFalse)
df〔description〕df〔description〕。astype(str)
customernameinput(请输入要查询的客户名称:)
dfdf〔df〔customer〕customername〕设置筛选条件
df
运行上述代码后,会提示用户输入要查询的客户名称,输入后(这里以输入客户高树友为例说明)即可得到结果,如下图:
产品出入库汇总
思路:先分别对成品入库和成品出库数据分类汇总,再将两张表的内容合并到一起即可。
python和数据库一样,有连表的功能,就是把工作表以某种合适的方式连接起来再操作。
python代码:importpandasaspd3
df1pd3。readexcel(rF:productdemo。xls,sheetname成品入库)
df2pd3。readexcel(rF:productdemo。xls,sheetname成品出库)
df1。fillna(0,inplaceTrue)
df2。fillna(0,inplaceTrue)
df1df1〔〔product,description,smallbag,小袋数量〕〕
df2df2〔〔product,description,包装类型,实销,其他出库〕〕
df1〔description〕df1〔description〕。astype(str)
df2〔description〕df2〔description〕。astype(str)
df1。rename(columns{小袋数量:入库},inplaceTrue)
df2。rename(columns{实销:出库},inplaceTrue)
list1〔product,description,smallbag〕
list2〔入库〕
df1df1。groupby(list1)〔list2〕。sum()
df1。resetindex(inplaceTrue,dropFalse)
list3〔product,description,包装类型〕
list4〔出库,其他出库〕
df2df2。groupby(list3)〔list4〕。sum()
df2。resetindex(inplaceTrue,dropFalse)
df3pd3。merge(df1,df2,howouter,lefton〔product,description,smallbag〕,连接两表的语句。
righton〔product,description,包装类型〕)
df3。fillna(0,inplaceTrue)
df3〔库存〕df3〔入库〕df3〔出库〕df3〔其他出库〕
df3df3〔df3。index!0〕
list5〔product,description,smallbag,入库,出库,其他出库,库存〕
df3df3〔list5〕
df4pd3。pivottable(df3,index〔product,description,smallbag〕,
values〔入库,出库,其他出库,库存〕,aggfuncsum,marginsTrue)
colorder〔入库,出库,其他出库,库存〕
df4df4。reindex(colorder,axis1)
df4
运行结果,如下图:
学会了上述几个使用python处理Excel数据的方法,就可以举一反三,就可以一劳永逸。
你还说你不爱python吗?
央广网评外卖小哥考取上海交大研究生为梦想奋斗谁都了不起我终于等到了,上海交大,我来了!近日,河南郑州外卖小哥高帅旗收到了一份特殊的快递上海交通大学的硕士研究生录取通知书。26岁外卖小哥考取上海交大研究生,这不是一碗心灵鸡汤,而是一个让
途囧趣事一(22老祖宗有句名言一方水土养一方人,此话放之四海而皆准,至理名言。在疫情发生之前,可以全世界的到处转转,或跟团或自由行。我就是以这两种形式先后走了20几个国家。自由行有5个国家,其余的
脸皮薄,不懂拒绝有多受罪?从妥协到拒绝,我做的对吗?我90后江苏女孩嫁来云南已有三年多,我南京他昆明,在我当时看来两边都是省会,发展上大体相差不多!最主要的是他好,他妈妈好,他妹妹好,他家里的舅舅阿姨的(家中亲戚们)都很好,待我一个
宁夏面积比重庆小,为何能成一个省级行政区?作为省级行政区,宁夏真的非常小。宁夏面积只有6。64万平方公里,比直辖市重庆还小。宁夏也是相邻省级行政区较少的,只接壤内蒙古甘肃陕西。陕西只与宁夏东部有短距离的接壤,宁夏西北正北东
民进党拍板双北提名朱立伦批一个落跑一个被迫目的何在?中国台湾网7月11日讯据香港中评社报道,民进党昨天下午召开选对会,敲定台卫福部长防疫指挥官陈时中参选台北市长,正国会龙头台前交通部长林佳龙选新北市长。中国国民党主席朱立伦对此表示,
s28赛季五排系列阵容推荐各位好呲牙我是一名玩了王者荣耀6年的资深玩家现在给大家推荐套五排上分的系列阵容为什么叫系列阵容呢?因为是五个英雄都有一个共同点看看看如图所示,这一套是英雄原皮底色都为红色的阵容对抗
在希望的田野上三夏时节央视网消息目前,全国13个粮食主产省已有23。5万个社会化服务组织开展了秋粮田管服务,服务面积约3。2亿亩次。社会化服务组织为农民种粮带来哪些便利?来看记者在河南的探访。今年国家大
这位日本前政要的个人安保为什么表现得如此的疏漏?安倍晋三,日本政坛的这位星宿级政治家,就是这位野心勃勃的政治家的猝然离去,最近引起了网络平台的渲染大波。他个人的影响力之于日本这个国家未来的发展将何去何从?作为曾经在日本政坛执政时
日本修宪,醉翁之意不在酒日本前任首相安倍晋三的遇袭身亡,并没有延缓日本政府修改宪法的步伐。据联合早报报道当地时间11日,统计结果显示,在本次参议院125个改选议席中,执政联盟中的自民党获得63席,公明党获
战至巅峰0829惨败,INTO1逆袭成功,他们虽然菜但很听话呀0829一直是下半区认可的最强队伍,有黄明昊和丁若虚何泓姗这三个高手在,不出意外的话,他们是直通总决赛的。可意外往往就在身边,在第一场比赛中,谁都可以一打的INTO1队成为了他们的
金卡戴珊邀小13岁男友一起冲凉,皮特急不可耐,重逢后难分难舍当地时间7月11日,金卡戴珊在社交媒体上分享了一张她和小男友皮特戴维斯的自拍合影,而这也是两个人久违的同框了。据悉,现年28岁的喜剧演员最近一段时间在澳大利亚拍戏,而金则是忙于到法