使用python读取exel文件,并读取的人名为名字批量创建合同

import pandas as pd
import re
import os
import shutil

class  OPEN_EXEL:

      def  __init__(self):

            self._exel_path = '2024年承包费台账.xlsx'
            self.docx_data = "农村集体机动地承包合同.docx"

      # 读取exel
      def  read_exel(self):
          # 读取 Excel 文件
          df = pd.read_excel(self._exel_path, engine='openpyxl', header=1)
          print(df.columns)
          if '姓名' in df.columns:
              # 提取 '科目名称' 列
              subject_names = df['姓名']
              list_name = []

              for  item  in  subject_names:
                       list_name.append(item)

              new_list_name = self.remove_first_and_last(list_name)
              return new_list_name


      def  parse_in_data_exel(self):

             new_list_name =  self.read_exel()
             for  item_name  in  new_list_name:
                  self.copy_and_rename_file(self.docx_data,"机动地承包合同",item_name)
                  print(f"{item_name}名字得到合同复制粘贴完毕。。。。。。。。。。。。===》")
             print(f"复制粘贴的合同数量为{len(new_list_name)}个")

      def remove_first_and_last(self,lst):
          # 使用切片去掉第一个和最后一个元素
          return lst[:-1]

      # 复制文件并重命名,然后粘贴到指定的文件夹里
      def copy_and_rename_file(self,src_file_path, dest_folder, new_name):
          """
          复制文件并重命名,然后粘贴到指定的文件夹中。

          :param src_file_path: 源文件路径
          :param dest_folder: 目标文件夹路径
          :param new_name: 新文件名
          """
          # 确保目标文件夹存在
          if not os.path.exists(dest_folder):
              os.makedirs(dest_folder)

          # 获取文件的扩展名
          file_extension = os.path.splitext(src_file_path)[1]
          # 构造新的文件路径
          dest_file_path = os.path.join(dest_folder, f"{new_name}{file_extension}")
          # 复制并重命名文件
          shutil.copy2(src_file_path, dest_file_path)
          print(f"文件已复制到: {dest_file_path}")

if __name__ == '__main__':
    OPEN_EXEL_DATA = OPEN_EXEL()
    # OPEN_EXEL_DATA.read_exel()
    OPEN_EXEL_DATA.parse_in_data_exel()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值