一、目标
原有数据:省>村编码>村景照片
目标:省>县编码>镇编码>村编码>村景照片
二、代码实施
主要使用shutil.move函数;数据量大可使用进度条tqdm
注意:不能在同层级下操作,最外层新建了文件夹用来移动数据
代码:
import os
import shutil
from tqdm import tqdm
def road(p):
if not os.path.exists(p):
os.mkdir(p)
path = r'E:\人居调查图片\renju_pic3'
out = r'E:\人居调查图片\2023816_renju_move'
roads = os.listdir(path)
for i in roads:
pro_road = os.path.join(path,i)
village_road = os.listdir(pro_road)
#new filedir
out_pro = os.path.join(out,i)
road(out_pro)
for name in tqdm(village_road):
out_county = os.path.join(out,i,str(name[:6]))
road(out_county)
out_town = os.path.join(out,i,str(name[:6]),str(name[:9]))
road(out_town)
out_vill = os.path.join(out,i,str(name[:6]),str(name[:9]),str(name))
road(out_vill)
for pics in os.listdir(os.path.join(path,i,name)):
# pics图片名
ori = os.path.join(path,i,name,pics)
tar = os.path.join(out,i,out_county,out_town,out_vill,pics)
shutil.move(ori,tar)
三、最终效果
效果展示: