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

这时如果你会Python,十几行代码就可以搞定。

这里需要两个Python库,一个是os库,一个是pandas库。

os库

os是Python内置库,不需要额外安装,只要用import导入就可以用了。os模块封装了常见的文件和目录操作,利用它可以轻松的对系统上的目录和文件进行各种操作,比如获取当前目录、列举当前文件夹中的所有文件和文件夹、判断文件或目录是否存在、删除文件等。

pandas库

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

其中读Excel需要依赖xlrd库,写Excel依赖openpyxl,pandas、xlrd和openpyxl安装命令如下:

$ pip install xlrd openpyxl pandas

下面开始进行数据处理…

这里假设数据是按日期命名的Excel文件并且放在一个Excel文件夹中,每个Excel文件包含用户ID、商品ID、商品属性列表、购买数量这几列信息。

文件夹中的所有文件如下:

$ ls excel_data

20120702.xlsx 20131018.xlsx 20150203.xlsx 20170416.xlsx 20180814.xlsx

20120703.xlsx 20131019.xlsx 20150204.xlsx 20170417.xlsx 20180815.xlsx

20120704.xlsx 20131020.xlsx 20150205.xlsx 20170418.xlsx 20180816.xlsx ...

实现的思路是利用os库获取所有的Excel文件,然后用pandas依次读取所有文件并合并到一起进行数据分析,计算出每个商品的总量以及销量前十的商品。列举所有Excel文件

import os

files = os.listdir("excel_data")

2.用pandas读取所有数据并合并到一起

import pandas as pd

df_list = [pd.read_excel(os.path.join("excel_data", f)) for f in files]

data = pd.concat(df_list)

3. 统计每个商品的数量

sum_of_product = data[["商品ID", "购买数量"]].groupby(["商品ID"]).sum()

sum_of_product

商品ID购买数量

16621

20182617

20331967

203320494

203322332

......

12268002521

1226800268

12269002316

12269202448

1226960245

662 rows × 1 columns

4.获取销量前十的商品

sum_of_product.sort_values('购买数量', ascending=False).head(10)

商品ID购买数量

5001883156632

500070168291

500119936351

500136366340

500037006325

2111225823

500105585248

500160064948

500066024692

500025244123

完整代码如下:

import os

import pandas as pd

# 获取所有Excel文件并读取数据

files = os.listdir("excel_data")

df_list = [pd.read_excel(os.path.join("excel_data", f)) for f in files]

data = 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)

商品ID购买数量

5001883156632

500070168291

500119936351

500136366340

500037006325

2111225823

500105585248

500160064948

500066024692

500025244123

教程就到这里,不足之处欢迎交流指正。

————————————————

python excel行数计算不对_数十万数据Excel数据不好处理怎么办?几行Python搞定相关推荐

  1. python科学计算主要学什么_以下哪些是python常用的科学计算库?_学小易找答案

    [单选题]17-51. 在 Windows 中,若要终止未响应的应用程序,可使用( ) [单选题]19-55.在 Windows控制面板中,下列无法实现的操作是 [单选题]witness的元素属性(比 ...

  2. java导出excel设置行高列宽_使用POI生成Excel文件,可以自动调整excel列宽

    //autoSizeColumn()方法自动调整excel列宽 importjava.io.FileOutputStream; importorg.apache.poi.hssf.usermodel. ...

  3. offes给excel增加下拉选项_财务“救星”:Excel不止可以下拉单元格,还可以进行成本核算...

    Word.Excel.PPT号称办公三霸,作为学习办公不可或缺的"神器",Excel以功能强大.操作方便"著称于世".但职场中的大多数人对Excel的应用都是C ...

  4. excel透视表无添加字段_为内部字段添加数据透视表小计

    excel透视表无添加字段 How was your weekend weather? We had a mini-blizzard yesterday, that covered the backy ...

  5. python链家数据分析统计服_链家数据分析一--数据离散化处理

    关于 学习日月光华老师的<Python数据分析从入门到机器学习>,通过写该文来巩固数据分析中使用的知识点. 主要是针对链家的数据进行各个不同方向的分析,本文是第一篇,针对数据中各个房源成交 ...

  6. vue导出excel加一个进度条_使用vue导出excel文件

    今天再开发中遇到一件事情,就是怎样用已有数据导出excel文件,网上有许多方法,有说用数据流的方式,https://www.cnblogs.com/yeqrblog/p/9758981.html,但是 ...

  7. python常见的数据类型形式化定义_详解:规整数据(Tidy Data)的理论与Python实践

    多数数据科学 机器学习项目都遵循帕累托原理,即我们用将近80%的时间进行数据准备,其余20%的时间用于选择和训练合适的机器学习模型.来源: 数据科学DataScience 通常,我们用于创建机器学习模 ...

  8. excel与云mysql连接数据库_小程序读取excel表格数据,并存储到云数据库

    最近一直比较忙,答应大家的小程序解析excel一直没有写出来,今天终于忙里偷闲,有机会把这篇文章写出来给大家了. 老规矩先看效果图 效果其实很简单,就是把excel里的数据解析出来,然后存到云数据库里 ...

  9. excel怎么设置打印区域_第六节 EXCEL打印预览和页眉页脚设置

    点击蓝字 关注我们 今天,老铁给大家分享Excel脱白基础教程的第六节--EXCEL打印预览和页眉页脚设置. 调整打印页面设置.分页预览中的蓝色虚线把整个文件需要打印的区域进行一个分割.用鼠标光标指向 ...

最新文章

  1. PHP 基础知识-数组
  2. Angular报错-Error: ENOENT: no such file or directory, scandir '/Users/echo_hx/node_modules'
  3. 使用Kubernetes里的job计算圆周率后2000位
  4. centos 安装mysql5.6.20_Linux学习15-CentOS安装mysql5.6环境
  5. springboot属性配置
  6. 蓝桥杯单片机必学——C语言例题(一)
  7. STM32_HAL新建工程
  8. 取消计算机触摸板,笔记本电脑触摸板,详细教您笔记本电脑触摸板怎么关闭
  9. Panel重要参数解析
  10. 计算机科学数学姚期智,科学网—姚期智:一流,从“姚班”开始 - 孙滔的博文...
  11. 阻容降压电路:每个元器件计算选型
  12. 微信支付回调页面html,微信JSAPI支付成功后获取回调数据
  13. 覃卫平java,湖南省职业教育“十一五”省级重点建设项目验收通过项目.doc
  14. xshell卸载不干净导致无法安装
  15. 对称矩阵到三对角矩阵的Lanczos推导(python,数值积分)
  16. Suzy找到实习了吗Day 17 | 二叉树进行中:110. 平衡二叉树,257 二叉树的所有路径,404. 左叶子之和
  17. 马哥教育N36第二十四周作业
  18. 金仓数据库KingbaseES行列转换
  19. 工作的态度和做事还是需要端正啊和注意啊
  20. eureka java_Eureka服务注册入门,服务启动

热门文章

  1. Android官方开发文档Training系列课程中文版:分享简单数据之添加简单的分享行为
  2. 论文笔记(A Neural Influence Diffusion Model for Social Recommendation)
  3. 不能头脑一热,就布局颠覆性技术、上马未来产业
  4. 一个走过太多坑的老弟对面向对象知识的总结:世上无难事,有的真不行
  5. FZU - 2103 Bin Jing in wonderland
  6. 【Codeforces 1096D】Easy Problem
  7. K-Means ++ 算法
  8. Spire.Pdf 的各种操作总结
  9. paip.获取proxool的配置 xml读取通过jdk xml 初始化c3c0在代码中总结
  10. spring-security-学习笔记-02-基于Session的认证方式