import os
# 设置文件夹路径
folder_path = r'D:\qixiangshuju\新疆'
# 获取文件夹中所有的.xls文件
files = [file for file in os.listdir(folder_path) if file.endswith('.xls')]
# 循环处理每个文件
for file in files:
# 分割文件名和扩展名
file_name, file_extension = os.path.splitext(file)
# 使用下划线分割文件名
parts = file_name.split('_')
# 如果文件名包含了多余的部分,就去掉它们
if len(parts) > 2:
# 重新构建文件名,保留原始文件名和年份信息
new_file_name = '_'.join(parts[:2]) + file_extension
# 构建新文件的路径
new_file_path = os.path.join(folder_path, new_file_name)
# 修改文件名
os.rename(os.path.join(folder_path, file), new_file_path)
这段代码是一个简单的Python脚本,用于处理特定文件夹中的.xls文件,将文件名中多余的部分去掉,并保留原始文件名和年份信息。
让我一步步解析代码:
1. `import os`: 导入Python标准库中的`os`模块,用于与操作系统进行交互,包括文件操作等。
2. `folder_path = r'D:\qixiangshuju\新疆'`: 设置了一个文件夹路径变量`folder_path`,它指向了一个目录,其中包含需要处理的.xls文件。这个路径是原始字符串,前面的`r`表示原始字符串,它可以防止反斜杠`\`被转义。
3. `files = [file for file in os.listdir(folder_path) if file.endswith('.xls')]`: 使用列表推导式,遍历文件夹中所有的文件名,筛选出以`.xls`结尾的文件,将它们存储在`files`列表中。
4. `for file in files:`: 遍历`files`列表中的每个文件。
5. `file_name, file_extension = os.path.splitext(file)`: 使用`os.path.splitext()`函数将文件名和扩展名分开,将文件名赋值给`file_name`变量,将扩展名赋值给`file_extension`变量。
6. `parts = file_name.split('_')`: 使用`split()`方法以下划线为分隔符将文件名分割成多个部分,并将这些部分存储在列表`parts`中。
7. `if len(parts) > 2:`: 检查`parts`列表的长度是否大于2,如果大于2,说明文件名包含了多余的部分。
8. `new_file_name = '_'.join(parts[:2]) + file_extension`: 使用`join()`方法将`parts`列表的前两个部分以下划线连接起来,构建新的文件名,并将扩展名加在后面。
9. `new_file_path = os.path.join(folder_path, new_file_name)`: 使用`os.path.join()`函数将文件夹路径和新的文件名连接起来,构建新文件的完整路径。
10. `os.rename(os.path.join(folder_path, file), new_file_path)`: 使用`os.rename()`函数将原始文件的路径和新文件的路径作为参数,将文件重命名为新的文件名。
这段代码的作用是处理指定文件夹中的.xls文件,去除文件名中多余的部分,例如原始文件名为`file_name_2023.xls`,经过处理后变为`file_name.xls`,并且保留了年份信息。
Python代码:
import os
# 设置文件夹路径
folder_path = r'D:\qixiangshuju\新疆'
# 获取文件夹中所有的.xls文件
files = [file for file in os.listdir(folder_path) if file.endswith('.xls')]
# 循环处理每个文件
for file in files:
# 分割文件名和扩展名
file_name, file_extension = os.path.splitext(file)
# 使用下划线分割文件名
parts = file_name.split('_')
# 如果文件名包含了多余的部分,就去掉它们
if len(parts) > 2:
# 重新构建文件名,保留原始文件名和年份信息
new_file_name = '_'.join(parts[:2]) + file_extension
# 构建新文件的路径
new_file_path = os.path.join(folder_path, new_file_name)
# 修改文件名
os.rename(os.path.join(folder_path, file), new_file_path)