将文件夹目录中的所有.csv文件复制到python中的一个文件夹中

2024-09-23 10:29:42 发布

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

我正在尝试将父文件夹中的所有.csv文件和其中的所有子文件夹复制到新的目标(“C:/Projects/CSVFiles”)。在

我使用了以下代码(来自论坛的其他地方),但这只复制父目录(DataFiles)中的.csv文件,而不是/DataFiles/中的子文件夹。在

任何建议都可以。谢谢

import glob
import shutil
import os

src_dir = "C:/Projects/DataFiles"
dst_dir = "C:/Projects/CSVFiles"
for CSVfile in glob.iglob(os.path.join(src_dir, "*.csv")):
shutil.copy(Excelfile, dst_dir)

Tags: 文件csvimportsrc文件夹目标osdir
3条回答

Python 2.2到3.4

import fnmatch
import os

src_dir = "C:/Projects/DataFiles"
dst_dir = "C:/Projects/CSVFiles"

for root, dirnames, filenames in os.walk(src_dir):
    for filename in fnmatch.filter(filenames, '*.csv'):
        shutil.copy(os.path.join(root, filename),dst_dir)

参考号:Use a Glob() to find files recursively in Python?

从Python3.5开始,glob支持the ^{} parameter

glob.iglob(os.path.join(src_dir, "**", "*.csv"), recursive=True)

在早期的python版本中,可以使用^{}代替:

^{pr2}$

使用os.walk遍历目录树。在

import os
import shutil
src_dir = "C:/Projects/DataFiles"
dst_dir = "C:/Projects/CSVFiles"
for root, dirs, files in os.walk(src_dir):
    for f in files:
        if f.endswith('.csv'):
            shutil.copy(os.path.join(root,f), dst_dir)

相关问题 更多 >