利用python复制excel文件并从excel中读取内容作为文件名

一、需求分析

做这次脚本的初衷是为了从一个excel读取项目名称,并根据项目名称中的内容去匹配模板,如果项目中有新建则去匹配新建的模板某种匹配另一个模板,并将模板修改文件名为项目名称并重新改变目录,一下是代码实现

 

二、代码和注释 

# -*- coding: utf-8 -*-
import os, sys,re,shutil
import xlrd


dir=r'C:\Users\Administrator\Desktop\9.6\19年配网工程储备' #原文件存放的目录
#下面是两个模板第一个是新建模板,另一个是其他模板
xinjianfile=r'C:\Users\Administrator\Desktop\9.6\temp\徐州铜山10千伏大许镇机关南2#配变新建工程.xlsx'
otherfile=r'C:\Users\Administrator\Desktop\9.6\temp\徐州铜山10千伏大许镇黄楼村4#配变增容改造工程.xlsx'
save_path=r'C:\Users\Administrator\Desktop\9.6\changed'#修改后需要存放的目录
fs = os.listdir(dir)#列出该文件下所有文件,读取原文件夹下存放的excel文件
for f1 in fs:
    print('--------------current file to be make is %s ---------------' % f1)
    #因为以下文件有问题,需要用continue跳出循坏
    if f1[0]=='~':continue
    if  '单集' in f1 : continue
    #存放目录的子文件夹
    tmp_path = os.path.join(dir,f1)
    save_file_path=save_path+'/'+f1+'/'
    if not os.path.exists(save_file_path):
        os.makedirs(save_file_path)
   
    work_book = xlrd.open_workbook(tmp_path)
    sheet0 = work_book.sheet_by_index(0)#读取改excel表中的第一个文件
    col_values = sheet0.col_values(1) #读取改excel表中的第一个文件第二列,实际中第二列就是项目名称
    colus=col_values[4:] #以为第二列前几个是无效信息用列表切片来跳过
    i = 1

    for f in colus:
        f=str(i)+'.'+f  #这里给文件名加上标号
        i+=1
        #这里根据项目名称去匹配模板
        if '新建' in f:
            new_filename=save_file_path+f+'.xlsx'
            shutil.copyfile(xinjianfile, new_filename)  #复制excel文件并存储到相应目录
        else:
            new_filename = save_file_path + f+'.xlsx'
            shutil.copyfile(otherfile, new_filename)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值