使用python按规则将文件复制到指定文件夹

import os
import shutil
import xlrd


def open_excel(f_name="./test.xlsx"):
    """
    打开excel文件
    :param f_name: 文件名
    :return: data
    """
    try:
        data = xlrd.open_workbook(f_name)
        return data
    except IOError as e:
        print(str(e))


def get_stage(f_name="./test.xls", by_name="Sheet1",
            quest_index=1, f_dir='客观题', index=4):
    """
    根据索引获取EXCEL表格中的数据
    :param f_name: 文件名
    :param by_name: Sheet1名称
    :param quest_index: 问题索引
    :param f_dir: 复制文件目录
    :param quest_index: 问题ID索引
    :param index: 字段索引
    :return:
    """
    data = open_excel(f_name=f_name)   # 打开excel文件
    table = data.sheet_by_name(by_name)      # 根据sheet名字来获取excel中的sheet
    n_rows = table.nrows - 2           # 行数, 减去前两行
    for row_num in range(n_rows):      # 遍历表格
        row = table.row_values(row_num + 2)
        stage = row[index-1]
        quest_f = row[quest_index-1][3:]+".xls"
        qf_name = os.path.join(f_dir, quest_f)
        if stage == '小学':
            copy_file(f_dir=f_dir+'-'+stage, file=qf_name)
        elif stage == '初中':
            copy_file(f_dir=f_dir+'-'+stage, file=qf_name)
        else:
            print("error")
            break


def copy_file(file='', f_dir='test'):
    """
    将文件复制到指定目录
    :param f_dir: 指定目录
    :param file: 指定文件
    :return:
    """
    shutil.copy(src=file, dst=f_dir)


ROOT = "E:/python/project/matrix/data/导出数据5.29"
f_name = '2.总表-主观题-available.xls'
f_dir = '4.学生答题记录-主观题'
sheet = 'Worksheet'
get_stage(f_name=os.path.join(ROOT, f_name),
        by_name=sheet, f_dir=os.path.join(ROOT, f_dir))

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以的,可以使用Python中的Pillow库来实现这个功能。具体的代码实现可以参考以下示例: ```python from PIL import Image import os # 定义图片大小分类的函数 def classify_images_by_size(src_folder, dst_folder): # 遍历源文件夹中的所有图片 for filename in os.listdir(src_folder): if filename.endswith('.jpg') or filename.endswith('.png'): # 打开图片并获取其大小 img = Image.open(os.path.join(src_folder, filename)) width, height = img.size # 根据图片大小分类到不同的文件夹中 if width > 100 and height > 100: dst_path = os.path.join(dst_folder, 'large') elif width > 500 and height > 500: dst_path = os.path.join(dst_folder, 'medium') else: dst_path = os.path.join(dst_folder, 'small') # 如果目标文件夹不存在,则创建它 if not os.path.exists(dst_path): os.makedirs(dst_path) # 将图片复制到目标文件夹中 dst_file = os.path.join(dst_path, filename) img.save(dst_file) # 调用函数进行图片分类 classify_images_by_size('source_folder', 'destination_folder') ``` 以上代码中,`classify_images_by_size`函数接受两个参数,分别是源文件夹和目标文件夹。函数会遍历源文件夹中的所有图片,根据图片大小将其分类到不同的文件夹中。分类规则是:如果图片的宽度和高度都大于100像素,则归为“large”文件夹;如果宽度和高度都大于500像素,则归为“medium”文件夹;否则归为“small”文件夹。函数中使用了Pillow库中的`Image`类来打开和保存图片,同时使用Python中的`os`模块来进行文件夹的创建和文件复制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值