14、pandas的将excel文件储存成多个文件
2017-12-26 本文已影响0人
让数据告诉你
在工作中我们有时候需要将一个excel文件分成多个子文件,这种方法虽然能用筛选或者排序然后复制黏贴进行处理,但是如果分的子文件太多了是很不方便的。
那么我们到底有没有什么比较好和比较快的方法进行处理呢?
![](https://img.haomeiwen.com/i8612260/2d290e5426447d7a.png)
我们现在想要按照年份进行分别储存,要怎么做呢?
![](https://img.haomeiwen.com/i8612260/271d30f98eca2148.png)
首先,使用duplicated筛选出所有的年份;
其次由于在数据抓取的时候网页数据格式的问题,导致了有部分值里存在“/”,而文件的命名是不允许存在这样的符号的,所以我们先将数值里的“/”去掉:
使用replace函数就可以:
![](https://img.haomeiwen.com/i8612260/7c5a77138052ac88.png)
然后筛选出重复值:
![](https://img.haomeiwen.com/i8612260/52e9a451a22fd211.png)
然后在筛选出不是重复的值:
![](https://img.haomeiwen.com/i8612260/2b5297cd249daf5f.png)
备注:这里需要注意的df.duplicated('bulid_time')==False表示的是第一个出现的值显示为True,重复值显示为False,而df[df.duplicated('bulid_time')==False]['bulid_time']表示的是筛选出的是剔除了重复值之后的唯一值。
如果把False改为True的话,那么筛选出的将是出来第一个唯一值之外的的值。
然后把唯一值赋值给一个新的df2:
![](https://img.haomeiwen.com/i8612260/f9ec93f70c9093cb.png)
接下来我们使用循环的方式进行遍历:
![](https://img.haomeiwen.com/i8612260/2a09f8463a8c758a.png)
这样我们就把所有不同年份的值都进行了分文件存储了:
![](https://img.haomeiwen.com/i8612260/00250719742ad322.png)
![](https://img.haomeiwen.com/i8612260/47119b2acbc18d8a.png)