日常办公excel是一大利器,但是如果数据量太大,基本就卡到爷爷奶奶都不认识了,谁也受不了表格天天崩。这时候python必须拥有姓名。
用python来实现excel功能,主要靠两个包:pandas和numpy,用pip安装完之后,来实现下以下常用供能:
-
字符串查找和处理
分列
列中是否包含某项内容
模糊查询
大小写转换 -
表的处理
排序
数据筛选
vlookup
删除重复项
数据透视表 -
数值计算
计算,加总,平均,最大最小值
条件计算
1.准备:数据导入,整理
将用两个表来做示例,一个是”物资采购情况“表,另一个
是”物资采购订单金额“。
首先是加载包,用xlwings把示例数据导入到python中
import pandas as pd
import numpy as np
import xlwings as xw #导入excel数据
app = xw.App(visible=False, add_book=False)
#获取”物资采购情况“
wb = app.books.open('本地地址*******.xlsx')
sht=wb.sheets['示例数据']
df=pd.DataFrame(sht.used_range.value)
#获取采购金额表
wb = app.books.open('本地地址*******.xlsx')
sht=wb.sheets['示例数据']
amount=pd.DataFrame(sht.used_range.value)
df(物资采购情况表)数据导入部分数据如下,列名和数据类型需要做下整理
#整理
df.columns=df.loc[0,:].values#第一行内容调整成列名
df=df.drop(index=0,axis=1)#删除原第0行
df.index=range(df.shape[0])#重排index
df['订单号']=df['订单号'].astype('int')#调整订单号的类型
整理后的结果,变成了比较典型的dataframe样子
同样处理amout表(订单金额)
#和表一同样方式的整理
amount