Python根据Excel清单中本地文件超链接汇总本地文件的办法

最近到年底了,工作上需要梳理公司管辖的所有租赁房产,除了台账的梳理汇总,合同扫描件的规范管理也让人头疼。

因为每个租赁项目都是在租赁那一年建立一个目录,存放各类文件和租赁合同扫描件,因此查看合同都需要一层层目录点进去查看,比较繁琐。为了坚决这个痛点,今年梳理台账的时候,在Excel台账最后一列加了合同文件的超链接,通过 Ctrl+K 的组合键,可以较快地添加本地文件链接,日后看台账需要对合同的时候,点击超链接就能打开查看了。

以上还是比较蠢的办法,而且每一年每一处房产的合同依然是散放的,如果哪里发生了故障,依旧是无法挽回的,因此考虑将合同文件收集到同一个文件夹进行备份。因为合同文件的命名在当时都很随意,基本都是“房屋租赁合同”,因此还需要寻找一个命名规则并更名。

通过Python做这些事相对容易一些,当然,更古老的VBS也许也行。不过用Python的xlrd库读取Excel单元格内容和shutil库来复制文件,相对更容易。

将Excel台账中的超链接字段复制出来,就是源文件的路径列表,然后在台账中使用&符号连接项目名称、出租方和租赁起始年份,就形成了一列新的合同规范命名,将这两列保存为FileList.xlsx

然后Python代码如下:

'''合同文件名中有中文,因此提前申明utf-8'''
#-*- coding:utf-8 –*-
'''引用相关的库文件'''
import xlrd
import shutil
'打开合同文件路径清单和对应的新命名,清单文件在程序同个目录下
SourceBook=xlrd.open_workbook('FileList.xlsx')
'打开Sheet1
SourceSheet=SourceBook.sheet_by_name('Sheet1')
'设定要保存到的目录路径,记得双斜杠,转义字符
target_dir="E:\\Your\\Path\\To\\Save\\File\\"
'循环读取每个合同的原始路径并更名保存到新路径,提前确定从第几行开始到第几行结束,计数从0开始,因此实际行号要-1
for i in range(4,121):
   source_file=SourceSheet.cell_value(i-1,0)
   new_file=SourceSheet.cell_value(i-1,1)
'获取到新的名称后,与保存路径结合成新文件完整路径
   target_file=target_dir+new_file
'实施复制
   shutil.copy2(source_file,target_file)

说了那么多,拷贝177个文件,110MB,时间不到2秒!

以上算抛砖引玉吧,我是个业余的写代码的,所以没有写try: Except之类的异常,请谅解。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RockyCoder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值