数十万数据Excel数据不好处理怎么办?

文章图片
比如像电商行业 , 每月有上百万条订单发货数据需要与仓库的数据进行核对计算 , 涉及到数据计算 , 筛选 , 匹配等步骤 , 用excel表超级卡 , 并且经常卡死 。

文章图片
这时如果你会Python , 十几行代码就可以搞定 。
这里需要两个Python库 , 一个是os库 , 一个是pandas库 。
os库os是Python内置库 , 不需要额外安装 , 只要用import导入就可以用了 。 os模块封装了常见的文件和目录操作 , 利用它可以轻松的对系统上的目录和文件进行各种操作 , 比如获取当前目录、列举当前文件夹中的所有文件和文件夹、判断文件或目录是否存在、删除文件等 , 具体见下图 。

文章图片
pandas库pandas是第三方库 , 需要手动安装才能使用 。 pandas是专门用来做数据分析的强大类库 , 可以方便地从csv、Excel和其他文本文件以及数据库中读取数据 , 然后对数据进行加和、求平均值、求方差、计算最大值最小值等数据分析 , 支持生成Excel等格式文件或进行可视化操作 , 函数如下:

文章图片
其中读Excel需要依赖xlrd库 , 写Excel依赖openpyxl , pandas、xlrd和openpyxl安装命令如下:
$pipinstallxlrdopenpyxlpandas
下面开始进行数据处理...
这里假设数据是按日期命名的Excel文件并且放在excel_data文件夹中,每个Excel文件包含用户ID、商品ID、商品属性列表、购买数量这几列信息 。
文件夹中的所有文件如下 , 在linux下用ls命令列举excel_data下所有文件:
$lsexcel_data
结果:
20120702.xlsx20131018.xlsx20150203.xlsx20170416.xlsx20120703.xlsx20131019.xlsx20150204.xlsx20170417.xlsx20120704.xlsx20131020.xlsx20150205.xlsx20170418.xlsx20120705.xlsx20131021.xlsx20160101.xlsx20170419.xlsx...
实现的思路是利用os库获取所有的Excel文件 , 然后用pandas依次读取所有文件并合并到一起进行数据,计算出每个商品的总量以及销量前十的商品 。
1.列举所有Excel文件
importosfiles=os.listdir("excel_data")
2.用pandas读取所有数据并合并到一起
importpandasaspddf_list=[pd.read_excel(os.path.join("excel_data",f))forfinfiles]data=https://pcff.toutiao.jxnews.com.cn/p/20200716/pd.concat(df_list)
3.统计每个商品的数量
sum_of_product=data[["商品ID","购买数量"]].groupby(["商品ID"]).sum()sum_of_product
结果
购买数量商品ID166212018261720331967203320494203322332......12268002521122680026812269002316122692024481226960245
获取销量前十的商品
sum_of_product.sort_values("购买数量",ascending=False).head(10)
结果:
商品ID购买数量50018831566325000701682915001199363515001363663405000370063252111225823500105585248500160064948500066024692500025244123
完整代码如下:
importosimportpandasaspd#获取所有Excel文件并读取数据files=os.listdir("excel_data")df_list=[pd.read_excel(os.path.join("excel_data",f))forfinfiles]data=https://pcff.toutiao.jxnews.com.cn/p/20200716/pd.concat(df_list)#统计每个商品的数量 , 并输出到Excel文件中sum_of_product=data[["商品ID","购买数量"]].groupby(["商品ID"]).sum()sum_of_product.to_excel("各个商品数量统计.xlsx")#统计销量前十的商品sum_of_product.sort_values("购买数量",ascending=False).head(10)
结果:
【数十万数据Excel数据不好处理怎么办?】商品ID购买数量50018831566325000701682915001199363515001363663405000370063252111225823500105585248500160064948500066024692500025244123
推荐阅读
- 数字人民币试点地区展开测试 集中在餐饮、零售、充值等小范围场景
- 恶魔之魂|数毛社成员表示 PS5次世代独占策略是个明智的选择
- 调动十万大军需要多久?中国给出答案,美国不说话了
- 休闲游戏|中国女性手游玩家数已超男性!你还以为女玩家就只玩乙女游戏吗?
- 科技日报|功能性玉米被端上餐桌 这个数据库帮了大忙
- 路易斯·德乔伊|特朗普盟友执掌邮政局,各地邮件分拣器无故被拆,选票邮寄或有变数
- 美国疫情比想象更严重!英美发现大问题,或将推翻此前所有数据
- 数评时代|华为最强笔记本将出:无风扇超轻薄双触控,看看还有哪些新品
- 数读8月17日全球疫情:全球日增确诊超20万例 累计逾2199万例 美国新增逾4.4万例
- 刘某某|男子数十次猥亵女童获刑3年半 女童家属抗诉申请被驳
