前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Python移动和重命名Excel文件

使用Python移动和重命名Excel文件

作者头像
fanjy
发布2021-11-17 16:21:40
2.9K0
发布2021-11-17 16:21:40
举报
文章被收录于专栏:完美Excel完美Excel

标签:Python与Excel,pandas

本文将向你展示如何在Python中移动和重命名Excel文件。此方法不仅适用于Excel文件,也适用于任何其他格式的文件,包括.docx、.txt、.pptx,等等。

示例

假设你管理着客户的每周发票报告列表,每周,公司的发票系统会为每个客户生成一份Excel报告,并保存在以客户名称命名的文件夹中,参见下面的屏幕截图。

图1

我们希望将这些文件夹中所有Excel文件移到一个名称为“week_1”的文件夹中,而不是每个客户文件夹中都有一个发票文件。由于单个Excel文件都具有相同的名称“发票.xlsx”,我们将它们全部复制并粘贴到同一个文件夹中时要重命名。

图2

你想手动复制/粘贴并修改名称35次吗?

我们要做的是,逐一把每个“发票.xlsx”文件移动到一个名为“week_1”的文件夹中,然后通过添加相应的客户名称来重命名该Excel文件。例如,客户_1的发票文件将重命名为“客户_1_发票.xlsx”。

我们将使用Python的shutil库来完成这项任务。shutil是Python安装时附带的标准Python库,因此无需自行安装该库。

步骤1:设置变量和文件夹

代码语言:javascript
复制
import shutil
path = r'D:\客户'

所有客户文件夹都存储在下面的文件夹中:

D:\客户

我将把文件夹位置赋值给一个名为“path”的变量。此处,确保在实际文件夹位置字符串前面包含一个“r”,以避免出现错误。

在字符串前面加上一个“r”将使其成为“原始”字符串,它本质上允许Python将反斜杠(\)视为普通字符,而不是转义字符。

然后,我们将创建另一个名为“week_1”的文件夹。可以使用os.path.exists()检查文件路径是否存在,如果不存在,我们将通过调用os.mkdir()创建新文件夹:

代码语言:javascript
复制
import os
weekly = r'D:\客户\week_1'
if not os.path.exists(weekly):
   os.mkdir(weekly)

步骤2:使用shutil.move移动和重命名Excel文件

接下来,我们准备移动Excel文件。由于文件夹名称结构良好,我们可以使用一个简单的循环,从客户_1到客户_59。注意,由于Python索引从0开始,因此下面代码中使用i+1。另外,在将整数值连接在一起之前,不要忘记将它们转换为字符串。可以使用int(‘10’)或str(10)轻松地在整数和字符串之间进行转换。

代码语言:javascript
复制
for i in range(35):
   shutil.move(path+'\客户_'+str(i+1)+'\发票.xlsx',
                weekly+'\客户_'+str(i+1)+'_发票.xlsx')

shutil.move()方法可以递归地将文件或目录移动到另一个位置。递归意味着你可以使用它移动整个文件夹,包括文件夹中的所有内容和文件。

步骤3:清理空文件夹

由于我们将所有个人文件移出了客户文件夹,空的客户文件夹仍在我们的计算机上,我们可以通过删除所有这些空文件夹来进行清理。

代码语言:javascript
复制
for i in range(59):
   os.rmdir(path+'\客户_'+str(i+1))

完整的代码

代码语言:javascript
复制
import os
import shutil
path = r'D:\客户'
weekly = r'D:\客户\week_1'
if not os.path.exists(weekly):
   os.mkdir(weekly)
for i in range(35):
   shutil.move(path+'\客户_'+str(i+1)+'\发票.xlsx',
                weekly+'\客户_'+str(i+1)+'_发票.xlsx')
os.rmdir(path+'\客户_'+str(i+1))

只需10行代码,我们就可以实现很多目标,并节省大量时间。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档