Python 处理Excel表格,搜索表格文件中sheet名,去追踪当前文件夹中的文件,并前文件中指定区域内容复制到sheet指定的区域中

本文介绍了一个Python脚本,它在CMD中使用pandas和openpyxl库,遍历当前目录下的.xlsx文件,读取指定sheet的内容,如果sheet名与文件名匹配则将A1:F30区域的数据复制到对应位置,未找到则跳过,最后保存目标工作簿。
摘要由CSDN通过智能技术生成
  1.  下载Python3.0以上版本
  2.  CMD 中输入以下插件下载,代码中会使用到
    1. pip install pandas
    2. pip install openpyxl
  3.  功能:
    1. Python 读取指定Excel文件中各sheet名,去搜索当前文件夹中的.xlsx文件;
    2. 当sheet名与.xlsx文件名相同时,将.xlsx文件中的A1:F30区域内容复制到sheet的A1:F30区域;
    3. sheet名未搜索到,可跳过继续搜寻其它文件;
    4. 保存;
  4.  代码内容:
    1. import os
      import pandas as pd
      import openpyxl
      
      # 定义搜索目录和目标文件
      search_dir = os.getcwd()  # 当前目录
      target_file = '1.xlsx'
      
      # 加载目标工作簿
      wb_target = openpyxl.load_workbook(target_file)
      
      # 遍历目录中所有文件
      for file_name in os.listdir(search_dir):
          if file_name.endswith('.xlsx'):  # 确保是Excel文件
              file_path = os.path.join(search_dir, file_name)
              # 加载Excel文件
              df_source = pd.read_excel(file_path)
      
              for sheet_name in df_source.sheetname:  # 遍历文件的每个sheet
                  try:
                      # 获取目标工作簿的对应sheet
                      ws_target = wb_target[sheet_name]
                      # 将源文件中的指定区域内容复制到目标工作簿的对应sheet的指定区域
                      for i in range(1, 31):  # A1:F30,共30行,每行6个单元格(A1:F1)
                          for j in range(6):  # 每行的6个单元格
                              ws_target.cell(row=i, column=j+1, value=df_source.iloc[i-1, j])  # 数据写入的位置需要根据实际需求进行调整
                  except KeyError:  # 如果未搜索到对应sheet,跳过并继续搜索其它Sheet
                      pass
      
      # 保存目标工作簿
      wb_target.save(target_file)

  5.  结果:
    1. 暂无,符合目标思路。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值