zoukankan      html  css  js  c++  java
  • 办公自动化15-一次性生成多层目录

    excel里面的目录是这样的:

    生成的目录是这样的

    代码如下:

    import os, sys
    import pandas as pd 
    
    path = 'C:/Users/17360/Desktop/cy/' 
    
    df = pd.read_excel(r'C:Users17360Desktop	est.xlsx',sheet_name= 'Sheet1')#将excel表中的文件夹名称读入DataFrame
    
    df.head()
    
    
    menu = list(df['目录'])
    for lst in menu:
        print(lst)
        num = lst.split(' ')[0]#分条件,生成文件夹
        
    if len(num.split("-")) == 2: file_name = path + str(lst) #文件夹路径 os.mkdir(file_name) #生成文件夹 if len(num.split("-")) == 3: if (len(num.split('-')[1])+len(num.split('-')[0])) == 2: pat = re.compile('^'+num[0:3]+'[^d]*[u4e00-u9fa5]+') if (len(num.split('-')[1]) + len(num.split('-')[0])) == 3: pat = re.compile('^'+num[0:4]+'[^d]*[u4e00-u9fa5]+') if len(num.split('-')[1]) == 2&len(num.split('-')[0]) == 2: pat = re.compile('^'+num[0:5]+'[^d]*[u4e00-u9fa5]+') for i in menu: tem = pat.findall(i) print(tem) if len(tem)>0: file_name = path +str(tem[0]) + '/' + str(lst) #文件夹路径 os.mkdir(file_name) #生成文件夹 if len(num.split("-")) == 4: if len(num.split('-')[1]) == 1: pat = re.compile('^'+num[0:3]+'[^d]*[u4e00-u9fa5]+') if (len(num.split('-')[1]) + len(num.split('-')[0])) == 3: pat = re.compile('^'+num[0:4]+'[^d]*[u4e00-u9fa5]+') if len(num.split('-')[1]) == 2&len(num.split('-')[0]) == 2: pat = re.compile('^'+num[0:5]+'[^d]*[u4e00-u9fa5]+') if (len(num.split('-')[1]) + len(num.split('-')[0])+len(num.split('-')[2])) == 3: pat1 = re.compile('^'+num[0:5]+'[^d]*[u4e00-u9fa5]+') if (len(num.split('-')[1]) + len(num.split('-')[0])+len(num.split('-')[2])) == 4: pat1 = re.compile('^'+num[0:6]+'[^d]*[u4e00-u9fa5]+') if (len(num.split('-')[1]) + len(num.split('-')[0])+len(num.split('-')[2])) == 5: pat1 = re.compile('^'+num[0:7]+'[^d]*[u4e00-u9fa5]+') if (len(num.split('-')[1]) + len(num.split('-')[0])+len(num.split('-')[2])) == 6: pat1 = re.compile('^'+num[0:8]+'[^d]*[u4e00-u9fa5]+') for i in menu: tem = pat.findall(i) if len(tem)>0: s1 = tem print(s1) for i in menu: tem1 = pat1.findall(i) if len(tem1)>0: s2 = tem1 print(s2) file_name = path +str(s1[0])+'/'+str(s2[0]) + '/' + str(lst) #文件夹路径 os.mkdir(file_name) #生成文件夹

    有问题欢迎提问哦~~~^_^

  • 相关阅读:
    bcdedit无法打开启动配置数据存储拒绝访问
    linux 实现两个文件指定列的替换
    Err:12 http://security.ubuntu.com/ubuntu focalupdates/main amd64 openjdk11jreheadless amd64 11.0.11+90ubuntu2~20.04 404 Not Found [IP: 91.189.88.152 80]
    SQL的经典语句(太全了)
    反射
    多线程互操作
    C# 2.0 套接字编程实例初探
    sqlserver 导出 insert (转)
    同步方法和异步方法的区别 (转)
    数组转成 位数组 这个很好用。
  • 原文地址:https://www.cnblogs.com/lizitingxue/p/12623201.html
Copyright © 2011-2022 走看看