excel处置4000行数据卡_数十万数据Excel数据不好处理怎么办?几行Python搞定
![](/assets/blank.gif)
电商行业,每月有上百万条订单发货数据需要与仓库的数据进行核对计算,涉及到数据计算,筛选,匹配等步骤,用excel表超级卡,并且经常卡死。
![](/assets/blank.gif)
这时如果你会Python,十几行代码就可以搞定。
这里需要两个Python库,一个是os库,一个是pandas库。
os库
os是Python内置库,不需要额外安装,只要用import导入就可以用了。os模块封装了常见的文件和目录操作,利用它可以轻松的对系统上的目录和文件进行各种操作,比如获取当前目录、列举当前文件夹中的所有文件和文件夹、判断文件或目录是否存在、删除文件等。
![](/assets/blank.gif)
pandas库
pandas是第三方库,需要手动安装才能使用。pandas是专门用来做数据分析的强大类库,可以方便地从csv、Excel和其他文本文件以及数据库中读取数据,然后对数据进行加和、求平均值、求方差、计算最大值最小值等数据分析,支持生成Excel等格式文件或进行可视化操作。
![](/assets/blank.gif)
其中读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 购买数量
1662 1
201826 17
203319 67
203320 494
203322 332
... ...
122680025 21
122680026 8
122690023 16
122692024 48
122696024 5
662 rows × 1 columns
4.获取销量前十的商品
sum_of_product.sort_values('购买数量', ascending=False).head(10)
商品ID 购买数量
50018831 56632
50007016 8291
50011993 6351
50013636 6340
50003700 6325
211122 5823
50010558 5248
50016006 4948
50006602 4692
50002524 4123
完整代码如下:
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 购买数量
50018831 56632
50007016 8291
50011993 6351
50013636 6340
50003700 6325
211122 5823
50010558 5248
50016006 4948
50006602 4692
50002524 4123
教程就到这里,不足之处欢迎交流指正。
————————————————
excel处置4000行数据卡_数十万数据Excel数据不好处理怎么办?几行Python搞定相关推荐
- excel处置4000行数据卡_数十万数据Excel数据不好处理怎么办?
文章转载自:微信公众号 Python的乐趣 作者:一粒米饭 比如像电商行业,每月有上百万条订单发货数据需要与仓库的数据进行核对计算,涉及到数据计算,筛选,匹配等步骤,用excel表超级卡,并且经常卡死 ...
- python网页爬虫循环获取_手把手教你用 Python 搞定网页爬虫
原标题:手把手教你用 Python 搞定网页爬虫 编译:欧剃 作为数据科学家的第一个任务,就是做网页爬取.那时候,我对使用代码从网站上获取数据这项技术完全一无所知,它偏偏又是最有逻辑性并且最容易获得的 ...
- xis表格怎么打印_Excel表格过大,如何将数据打印在一张A4纸上?3种方法帮你搞定...
原标题:Excel表格过大,如何将数据打印在一张A4纸上?3种方法帮你搞定 我们在工作时候,经常会打印Excel表,不知道你在打印Excel时候有没有遇到这样的情况,因为Excel表格过大,无法在一张 ...
- 50行Python搞定京东商品抢购
50行Python搞定京东商品抢购 之前写的一篇京东抢购商品传送门,由于京东账号登录图片验证码改为了极验验证码,一直在尝试怎么用请求来去破解,而不是selenium去模拟点击,但是技不如人搞不定... ...
- python画圆形螺旋线_硬核教程,利用 Python 搞定精美网络图!
硬核教程, 利用 Python 搞定精美网络图! 一.NetworkX 概述 NetworkX 是一个用 Python 语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进 ...
- excel处置4000行数据卡_【Excel技巧】在Excel中奇偶行提取和奇偶行筛选方法
今天我给大家讲一个人人都会使用,都能用到的excel教程,那就是在Excel中奇偶行提取和奇偶行筛选方法,以下一共分两部分为大家讲解excel中奇偶行的提取与筛选的方法. 第一.excel偶数行提取 ...
- excel处置4000行数据卡_【R语言】5行代码批量合并Excel文件,并增加文件来源列...
看到一篇文章, 裴帅帅:Python使用9行代码批量合并Excel文件zhuanlan.zhihu.com 咱们R语言也不能落后啊,5行代码批量合并Excel文件,再多做一步:增加文件来源列. 说是 ...
- python excel行数计算不对_数十万数据Excel数据不好处理怎么办?几行Python搞定
电商行业,每月有上百万条订单发货数据需要与仓库的数据进行核对计算,涉及到数据计算,筛选,匹配等步骤,用excel表超级卡,并且经常卡死. 这时如果你会Python,十几行代码就可以搞定. 这里需要两个 ...
- 从数百个Excel中查找数据,一分钟用Python搞定
作者 | 陈熹 来源 | 早起Python 今天分享一个真实的办公自动化需求,大家一定要仔细阅读需求说明,在理解需求之后即可体会Python的强大. 需求说明 首先我们来看下今天的需求,有一份档案记录 ...
最新文章
- Jquery中关于动画的一些操作函数
- python下载的文件放在哪里的-python实现下载文件的三种方法
- 小米抢购限流峰值系统「大秒」架构解密2
- Android(java)学习笔记10:同步中的死锁问题以及线程通信问题
- Linux文件查询笔记
- Facebook 推远程办公政策,但要“调整”薪资,你觉得 OK 吗?
- [搬运] mac下安装GDB
- 初学java andriod 软件安装与配置问题
- kotlin面试_Kotlin面试问题
- jQuery新的事件绑定机制on()
- linux查看redis链接数,查看redis连接数
- 拦截广告的链接(注意软件的广告不拦截,只拦截桌面图标链接)
- web service方法进行全文检索_软件架构分层方法论
- Delphi的多线程开发实例
- Linux 根目录与路径
- python 在 win cmd 环境中形如 '\xhh' 输出的转化
- SSH 官网下载地址
- 2022高处安装、维护、拆除考试模拟100题及模拟考试
- 基于JAVA的企业信息员工管理系统的设计与实现(附:源码 论文 sql文件)
- 关于创新与整合的戏言
热门文章
- 微软宣布与神州数码合作希望利用区块链技术优化金融、电子商务、娱乐等行业!
- 恒讯科技资讯分享:境外服务器知识科普
- 浅谈晏殊几何学知识图谱技术
- 交通事故的处理流程有什么规定
- Android p刷机红米4a,红米4A(Redmi 4A 全网通)刷机教程,简单几步搞定刷机
- x5550支持服务器内存吗,英特尔® 至强® 处理器 X5550
- Ubuntu系统Vscode安装以及配置C++环境(一条龙服务)
- ResponseBodyAdvice的使用
- 【C语言练习——打印下三角及其变形】
- GNN-图卷积模型-2016:GCN【消息传递(前向传播):聚合函数+更新函数】【聚合函数:mean(邻域所有节点取平均值)】【训练更新函数的参数】【空域+频域】【直推式学习】【同质图】