前言
大量的数据文件,为方便处理,需要每六个放进一个新文件夹。
手动处理工作量过于庞大,偷懒的写几行代码,解决一下小问题。
提示:以下是本篇文章正文内容,下面案例可供参考
一、处理过程
1.要处理数据
2. 文件分组
现获取总文件下的所有文件名称,并分别统计,每6个放进一个list
3. 生成新文件夹
读取list[j],获取每个分组文件,并建立新的文件夹,循环命名(从1开始)
4. 移动文件
读取子list中的文件,并拼接文件原路径,然后移动
5. 移动结果
二、代码
#!/user/bin/env python3
# -*- coding: utf-8 -*-
import os
import shutil
path_src = "E://...//data_copy"
path_dst = "E://...//data_copy"
list_files = os.listdir(path_src) # 获取目录下文件名清单
step = 6
class_files = []
for i in range(0, len(list_files), step): # 每6个文件放进一个list
class_file = list_files[i:i+step]
class_files.append(class_file)
# 移动csv到指定文件夹
for j in range(len(class_files)): # 遍历list下的子list
files = class_files[j] # 依次获得每个子list
path_fin = os.path.join(path_dst, 'hour' + str(j + 1)) # 为每个子list生成新的文件夹名字
path_class = os.makedirs(path_fin) # 创建新的文件夹
for k in range(len(files)): # 子list中包含6个文件
path_file = os.path.join(path_src, files[k]) # 拼接子list中文件的路径
shutil.move(path_file, path_fin) # 移动原文件路径下的文件到新路径下
总结
省去了对文件手动操作的麻烦
简单代码解决简单问题。
边调边改,写起来有点慢,但也是组织逻辑的过程,终归还是有收获。
每天进步一点点!!!