【用python将文件夹下面的文件夹里面的文件全部提取出来,并且放到一个新的文件夹】

这篇具有很好参考价值的文章主要介绍了【用python将文件夹下面的文件夹里面的文件全部提取出来,并且放到一个新的文件夹】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文件里面有多个文件,每个文件下面有很多jpg格式的照片,把所有照片提取出来并且放在一个新的文件夹下面。

可以使用Python的os和shutil库来完成这个任务。
比如说:我的faces95文件夹下面有95个文件,每个文件下面有十七到十八个照片不等。
【用python将文件夹下面的文件夹里面的文件全部提取出来,并且放到一个新的文件夹】
【用python将文件夹下面的文件夹里面的文件全部提取出来,并且放到一个新的文件夹】
把所有照片提取出来可以用以下python代码:

import os
import shutil

# 设置原始文件夹和目标文件夹
data_folder = 'C:\\Users\\ljx\\Desktop\\Images'
photo_folder = 'C:\\Users\\ljx\\Desktop\\new_images'

# 创建目标文件夹
if not os.path.exists(photo_folder):
    os.makedirs(photo_folder)

# 遍历所有文件夹
for root, dirs, files in os.walk(data_folder):
    for file in files:
        # 如果文件是jpg文件
        if file.endswith('.jpg'):
            # 构造原始文件路径和目标文件路径
            src_path = os.path.join(root, file)
            dst_path = os.path.join(photo_folder, file)
            # 复制文件到目标文件夹
            shutil.copyfile(src_path, dst_path)

需要修改的地方:
【用python将文件夹下面的文件夹里面的文件全部提取出来,并且放到一个新的文件夹】
data_folder = ''中的改为自己的需要提取的文件路径
photo_folder = ''中的改为自己的需要放置的文件路径,默认是新建文件,自己新建也可以

# 设置原始文件夹和目标文件夹
data_folder = 'C:\\Users\\ljx\\Desktop\\faces95'
photo_folder = 'C:\\Users\\ljx\\Desktop\\new_images'

【用python将文件夹下面的文件夹里面的文件全部提取出来,并且放到一个新的文件夹】
跑出来的结果在指定的文件路径中查看,比如我的在桌面上,就是
【用python将文件夹下面的文件夹里面的文件全部提取出来,并且放到一个新的文件夹】
如果文件较大,需要的python运行时间会更长一点,需要耐心等待。
如果你想复制其他类型的文件,你可以更改if file.endswith(‘.jpg’)这一行的条件,就可以了。

如果是csv
可以使用Python的pandas库来进行这个任务。首先,确保你已经安装了pandas库。如果还没有安装,可以使用以下命令安装:

pip install pandas

接下来,你可以使用以下代码来批量提取文件夹下的CSV文件,根据列索引提取特定几列,并将提取后的数据保存到新建的一个文件夹。在代码中,input_folder是包含CSV文件的文件夹路径,output_folder是保存提取后数据的文件夹路径,columns_to_extract是一个包含你想要提取的列索引的列表。

import os
import pandas as pd

# 输入文件夹路径
input_folder = 'path/to/input/folder'

# 输出文件夹路径
output_folder = 'path/to/output/folder'

# 要提取的列索引
columns_to_extract = [0, 2, 4]  # 例如,提取第0列,第2列,第4列

# 确保输出文件夹存在,如果不存在则创建
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# 遍历输入文件夹下的所有文件
for filename in os.listdir(input_folder):
    if filename.endswith('.csv'):
        # 构建输入文件的完整路径
        input_file_path = os.path.join(input_folder, filename)
        
        # 读取CSV文件
        df = pd.read_csv(input_file_path)
        
        # 提取特定列
        extracted_data = df.iloc[:, columns_to_extract]
        
        # 构建输出文件的完整路径
        output_file_path = os.path.join(output_folder, f'extracted_{filename}')
        
        # 保存提取后的数据到新文件中
        extracted_data.to_csv(output_file_path, index=False)
        
        print(f'文件 {filename} 处理完成,提取后的数据已保存到 {output_file_path}')

在这个代码中,os.listdir(input_folder)会列出输入文件夹下的所有文件,然后通过判断文件扩展名为.csv来确定是CSV文件。对于每个CSV文件,使用pd.read_csv()函数读取数据,然后使用.iloc[]方法根据列索引提取特定列。提取后的数据保存在新文件中,文件名前面加上extracted_前缀,以示区分。

请替换input_folder和output_folder的值为你实际的文件夹路径,并根据需要修改columns_to_extract列表,以提取你想要的特定列。

总结

在处理包含多个文件夹和大量jpg格式照片的任务时,我们可以使用Python的os和shutil库来实现。首先,我们需要设置原始文件夹路径和目标文件夹路径。在代码中,我们使用了os.walk()函数来遍历所有文件夹和文件。对于每个文件,我们检查其是否为jpg格式,如果是,则复制到目标文件夹中。

首先,我们创建了一个目标文件夹,确保它存在。然后,我们使用os.walk()遍历了原始文件夹中的所有文件夹和文件。在每个文件中,我们检查文件的扩展名是否为.jpg,如果是,则构造原始文件路径和目标文件路径,并使用shutil.copyfile()函数将文件复制到目标文件夹中。

在代码中,你需要修改data_folder和photo_folder的值,将它们分别设置为原始文件夹的路径和目标文件夹的路径。这样,代码就能够在指定的文件夹中提取所有jpg格式的照片,并将它们复制到新的文件夹中。

如果你需要处理其他类型的文件,只需要修改if file.endswith(‘.jpg’)这一行的条件为你想要处理的文件类型即可。这个脚本提供了一个灵活且高效的方法,可以处理包含大量文件的文件夹,确保你的数据得以整理和备份。

需要注意的是,如果文件较大,可能需要一些时间来处理,因此请耐心等待。通过这种方式,你可以方便地整理和处理大规模的文件,提高了工作效率。文章来源地址https://www.toymoban.com/news/detail-415920.html

到了这里,关于【用python将文件夹下面的文件夹里面的文件全部提取出来,并且放到一个新的文件夹】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包