在工作中我们有时候需要将一个excel文件分成多个子文件,这种方法虽然能用筛选或者排序然后复制黏贴进行处理,但是如果分的子文件太多了是很不方便的。
那么我们到底有没有什么比较好和比较快的方法进行处理呢?

我们现在想要按照年份进行分别储存,要怎么做呢?

首先,使用duplicated筛选出所有的年份;
其次由于在数据抓取的时候网页数据格式的问题,导致了有部分值里存在“/”,而文件的命名是不允许存在这样的符号的,所以我们先将数值里的“/”去掉:
使用replace函数就可以:

然后筛选出重复值:

然后在筛选出不是重复的值:

备注:这里需要注意的df.duplicated('bulid_time')==False表示的是第一个出现的值显示为True,重复值显示为False,而df[df.duplicated('bulid_time')==False]['bulid_time']表示的是筛选出的是剔除了重复值之后的唯一值。
如果把False改为True的话,那么筛选出的将是出来第一个唯一值之外的的值。
然后把唯一值赋值给一个新的df2:

接下来我们使用循环的方式进行遍历:

这样我们就把所有不同年份的值都进行了分文件存储了:


网友评论