python另起一行_怎样使用Python轻松完成Excel工作

工作过程中经常会碰到一些excel问题,在处理某些情况的时候非常繁琐。但又不得不手动去做。今天就用一个例子,带大家了解怎样使用Python解决Excel无法处理的工作。

需求是这样的,这里有一个待处理的原始表:

e9895184c33448102517e595daed445d.png

原始数据

每个类目当中,有很多“商品ID”,现在需要把同一个类目当中所有ID放到一个单元格,当单元格中的数据大于50个ID的时候,需要另起一行,继续之前的操作,最终得到这样的效果:

975362aa420ec79db94a82688ba85524.png

输出数据

如果ID少的情况下,尚可在Excel中手动操作,但如果是几千上万个数据,Excel就有些力不从心了。接下来,我们看使用Python如何完成。

第一步:设定程序步骤

写代码之前,需要把任务分解成单独的模块:

  1. 读取数据
  2. 对数据去重
  3. 数据聚合
  4. 超过50个的单元格切分
  5. 重新组合输出

第二步:读取数据并去重

b435d3d881e12a0190bc431196d0685c.png

这里用到了删除重复项的方法drop_duplocates,参数keep表示删除重复之后保留哪个,这里用的是first,也就是说保留第一个。

第三步:数据聚合

dd478398c9d115daec7e5708325f8722.png

数据聚合

这里的groupby相当于Excel当中的数据透视表,之后的apply是一个自定义函数,括号中的功能,是把所有“分类”一样的元素用“,”串联起来,最后的reset_index是把聚合之后的表变为dataframe。

第四步:数据切分

老规矩,先上代码:

3071f152e39211447439be74a289f4d7.png

数据切分代码

我们一步步分解来看,

434fbb24fc4086f81d265e676da784fa.png

建立一个空列表,用于存放输出结果。

2dcbbd8abf427ee9e8557d180daf329d.png

循环每一行数据,id_num表示表格中有多少ID,,id_group_num表示以50个为一组,可以分多少组。

909f723cc7a26600e767eb2962d7a3a7.png

接着使用判断语句,如果需要分组数量大于1

,也就是说超过50个ID,就进行切分,具体切分成几份根据qf_num来使用for循环,最终把结果数据添加到result_list当中。

第五步:组合输出

最终,把result_list当中的数据,使用pandas的DataFrame功能,导出为Excel。

74ce04f333b0c192e5d3c217701f0a16.png

整个数据结果就完成了,大家也可以根据自己再Excel当中的常用操作用Python实现出来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值