输入文件,输入值,输入多个值需要以空格进行分隔,将输入值保存到一个列表中,依次和第五列中的值进行比较,将满足要求的行中的第26列值从开始截取到Inspection Summary并以Klarf替换Inspection Summary,将替换完的值作为路径打开文件夹,将文件夹下文件名中含有输入值的文件复制到其他桌面的Klarf文件夹中,并将文件按照输入值进行重命名
时间: 2023-12-14 12:38:42 浏览: 32
这是一个相对复杂的任务,需要使用多个模块和函数来完成。以下是一个示例代码,您可以根据自己的需求进行修改和优化。
```python
import os
import shutil
# 输入文件的路径
input_file = "path/to/input/file.csv"
# 输入值列表
input_values = ["value1", "value2", "value3"]
# 读取输入文件中的数据
with open(input_file, "r") as f:
lines = f.readlines()
# 遍历每一行数据
for line in lines:
# 将每一行数据按照逗号分割成一个列表
data = line.strip().split(",")
# 获取第五列的值
col5_value = data[4]
# 如果第五列的值不在输入值列表中,则跳过
if col5_value not in input_values:
continue
# 获取第26列的值
col26_value = data[25]
# 将Inspection Summary替换为Klarf
new_col26_value = col26_value.replace("Inspection Summary", "Klarf")
# 构建文件夹路径
folder_path = os.path.join(os.getcwd(), new_col26_value)
# 打开文件夹
os.startfile(folder_path)
# 获取文件夹中的文件列表
files = os.listdir(folder_path)
# 遍历每一个文件
for file in files:
# 如果文件名中不包含输入值,则跳过
if not any([value in file for value in input_values]):
continue
# 构建新文件名
new_file_name = file.replace(col5_value, new_col26_value)
# 复制文件到Klarf文件夹中
src_path = os.path.join(folder_path, file)
dst_path = os.path.join(os.path.expanduser("~"), "Desktop", "Klarf", new_file_name)
shutil.copy(src_path, dst_path)
```