移动或复制列表中的文件(*.txt或*.csv)

2024-10-01 17:41:29 发布

您现在位置:Python中文网/ 问答频道 /正文

全新的编码(2-3周前开始),我急需帮助。。。你知道吗

我正在尝试将目录(例如dir1)中的某些文件(*.tif文件)移动到另一个目录(dir2),如果它们在列表中的话。在我的例子中,让我们称这个列表为duplicates.csv。你知道吗

编辑:这是副本.csv好像有个主意。因为我还不允许嵌入,下面是链接:image of duplicates.csv

现在我正在加载我的副本列表:

import os
import pandas as 
import shutil 

# Load the list from CSV
duplicates = pd.read_csv(r'\\galaxy\WETS_ScanTest\duplicates.csv', usecols=[1])
# Convert to pandas dataframe to list
duplicates = df_duplicates.values.tolist()

# These are the directories: 
dir1 = r'\\galaxy\WETS_ScanTest\TEMP2' # All the files are here
dir2 = r'\\galaxy\WETS_ScanTest\TEMP3' # Move to here IF it matches the `duplicates` list (aka: duplicates.csv)

当我试图移动文件时

# Move the files to a different directory
for root, dirs, files in os.walk(dir1, topdown=True):
    for i in files:
        if i in duplicates:
            shutil.move((os.path.join(root, i)), dir2)

因为某种原因我不能让它工作。你知道吗

编辑:它没有给出错误消息,但重复的文件不会移动到dir2

任何对这位新人的帮助都是非常感谢的。你知道吗


Tags: 文件csvthetoimport列表osfiles
2条回答

你可以改变 duplicates_tuple = ("csv", "txt") files = [i for i in os.listdir(dir1) if i.endswith(duplicates_tuple) and path.isfile(path.join(dir1, i))] duplicates_tuple = tuple(pd.read_csv(r'\galaxy\WETS_ScanTest\duplicates.csv', usecols=[1]).values.tolist()) files = [i for i in os.listdir(src) if i in (duplicates_tuple) and path.isfile(path.join(src, i))]

import os
from os import path
import shutil
dir1 = r'\\galaxy\WETS_ScanTest\TEMP2' # All the files are here
dir2 = r'\\galaxy\WETS_ScanTest\TEMP3' # Move to here IF it matches the `duplicates` list (aka: duplicates.cs

files = [i for i in os.listdir(dir1) if i.endswith(("csv", "txt")) and path.isfile(path.join(dir1, i))]
for f in files:
    shutil.move(path.join(dir1, f), dir2)

您可以使用此代码段

相关问题 更多 >

    热门问题