原标题:60万行的Excel数据,Python轻松处理

一个朋友在某运动品牌公司上班,老板给他布置了一个处理客户订单数据的任务。要求是根据订单时间和客户id判断生成四个新的数据:

1、记录该客户是第几次光顾

2、上一次的日期时间是什么时候

3、与上次订单的间隔时间

4、这是一个existing客户还是一个new客户(见定义)

推荐下我自己创建的

Python学习交流群960410445,这是Python学习交流的地方,不管你是小白还是大牛,小编都欢迎,不定期分享干货,包括我整理的一份适合零基础学习Python的资料和入门教程。

文件说明:

1、第一列是订单日期和时间(乱序)

2、第二列是客户的id

3、第三列不需要使用

4、60+万行数据

相关定义如下:

1、existing:此次下单日期时间与上次日期时间的距离在N天以内,精确到时间(时分秒)

2、new:即超过N天

整体思路

1、读取表格的行数据存储成list,并按照时间列的升序排序。

2、维护一个map(在python里是字典dict),每个用户 id 作为key,一个二元组(第几次下单,上一次的日期时间)作为value。

3、遍历表格行数据的list。判断客户 id 是否已经存在于map中,若首次出现,则置该客户 id 在map中的value为[1,'首次下单'],对应行数据新增的4个数据为[1,'首次下单',该次日期时间与上次日期时间差,'new']。若已经存在,则更新map中对应的value为[原次数+1,该次日期时间],对应行数据新增的4个数据为[原次数+1,上次日期时间,间隔时间,new/existing取决于间隔时间与预设N]。

4、将修改过后的行数据list写入到Excel工作簿并保存。

读取表格数据

我们可以用xlrd模块对Excel文件进行读取,以便进一步分析处理数据。示例代码如下:

以上代码成功输出前100行的日期则说明已经成功读取到数据。输出结果如下:

既然读取文件没有问题,进一步浏览整个文件发现存在多余的空行和重复的标题行在读取和转存中可以用正则匹配过滤掉这些行。

将读取的行数据转存到list中,以便进行排序。

将修改后的行数据list写入Excel表格并保存为xslx格式

结果展示

完整代码

责任编辑:

python处理表格数据-60万行的Excel数据,Python轻松处理相关推荐

  1. python处理excel表格-60万行的Excel数据,Python轻松处理

    原标题:60万行的Excel数据,Python轻松处理 一个朋友在某运动品牌公司上班,老板给他布置了一个处理客户订单数据的任务.要求是根据订单时间和客户id判断生成四个新的数据: 1.记录该客户是第几 ...

  2. python创建表格怎么只能65536_python写入excel超过65536行报错问题解决方法

    接此篇文章:python将txt文件转为excel格式 上篇文章中将内容写到excel中使用import xlwt包,后来发现文件写入超过65536行的时候就会报错,无法转换成功, xls后缀文件,只 ...

  3. Python学习:如何使用pandas分析excel数据

    1.问题 在python中,读写excel数据方法很多,比如xlrd.xlwt和openpyxl,实际上限制比较多,不是很方便.比如openpyxl也不支持csv格式.有没有更好的方法? 2.方案 更 ...

  4. excel导入数据校验_使用Excel数据验证限制日期范围

    excel导入数据校验 Yesterday, one of my clients emailed to let me know that she was having trouble entering ...

  5. 数据可视化一:Excel数据可视化

    数据可视化一:Excel数据可视化 目录: 1.直方图: 2.百分比柱形堆积图: 3.折线图: 4.圆饼图: 5.散点图: 1.直方图: (1)直方图:又称质量分布图.柱状图,是一种统计报告图,也是表 ...

  6. python处理表格数据-Python数据处理(二):处理 Excel 数据

    在本章和下一章里,我们将研究两种文件类型实例:Excel 文件和 PDF,并给出几条一般性说明,在遇到其他文件类型时可以参考. 处理 Excel 比上章讲的处理 CSV.JSON.XML 文件要难多了 ...

  7. python处理excel奖金_60万行的Excel数据,Python轻松处理

    1.existing:此次下单日期时间与上次日期时间的距离在N天以内,精确到时间(时分秒) 2.new:即超过N天 整体思路 1.读取表格的行数据存储成list,并按照时间列的升序排序. 2.维护一个 ...

  8. python自动化表格截图_python自动化操作——excel刷新数据并截图发送微信

    1 importos2 importwin32gui, win32api, win32con, win32com3 from win32com.client importDispatch4 from ...

  9. python做表格计算公式_python吊打Excel?那是你不会用!附赠N个Excel公式

    相信大家总能在朋友圈刷到下图这种教育广告,python很强,但总是这么贬低Excel就没必要了吧. 直到我看见了下面的回复,笑喷! 实话实说,从数据分析的角度来看,excel的可视化要差一些,数据采集 ...

最新文章

  1. 统计简单学_回归分析
  2. gpg的一些常用操作
  3. uvm 形式验证_一种基于UVM的总线验证方法与流程
  4. 使用Troll对ARM Cortex-M处理器进行系统内核调试
  5. H5与企业微信jssdk集成
  6. 禁止服务器的协议,启用或禁用服务器网络协议
  7. redis工具类_SpringBoot 操作 Redis 数据
  8. 天人短文网站系统v5.53源码
  9. vim 编辑演示_改变我生活的7个Vim技巧(含演示)
  10. linux ntp 追赶,Linux 时间同步 ntpd
  11. android modbus 串口,android modbus RTU jssc连接
  12. Git使用总结-so easy
  13. 概率论:集合、假设检验、分布、矩阵、估计
  14. 怎么在WORD中输入10以上的带圈数字,看这里,10以上的带圈数字如何输入到WORD中
  15. 高级JAVA开发 分布式系统部分
  16. mysql数据库之mmm
  17. react起步,冲冲冲
  18. Python也能识别图文,看到好的文章就用它一键扫描吧
  19. 多传感器融合定位 第一章 概述
  20. S7-PLCSIM Advanced V3.0下载仿真失败

热门文章

  1. sklearn的train_test_split,果然很好用啊!
  2. spark Bisecting k-means(二分K均值算法)
  3. Kubernetes——基于容器技术的分布式架构领先方案,它的目标是管理跨多个主机的容器,提供基本的部署,维护以及运用伸缩...
  4. Facebook图片存储系统Haystack——存小文件,本质上是将多个小文件合并为一个大文件来降低io次数,meta data里存偏移量...
  5. Javascript生成全局唯一标识符(GUID,UUID)的方法
  6. DataBinding初探 数据绑定的用法 ,import 集合类型,绑定的表达式,访问集合类型2...
  7. 页面滚动事件和利用JS实现回到顶部效果
  8. Swift的数组与OC中数组的区别
  9. C#代码与javaScript函数的相互调用
  10. 程序员修炼之道:从小工到专家九月第一篇