亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python調用接口合并Excel表代碼實例

發布時間:2020-10-05 15:15:52 來源:腳本之家 閱讀:145 作者:Johnthegreat 欄目:開發技術

在工作中經常遇到需要打開許多個excel表格,然后合并的需求,合并的同時要求格式必須原汁原味的保留。利用VBA代碼可以比較輕松的解決,現在我們來看Python中如何實現。

上代碼:

from openpyxl import Workbook
from win32com.client import Dispatch
import os
import datetime
 
 
def copy_excel_file(source_file_list, destination_file):
  run_app = Dispatch('Excel.Application')
  run_app.Visible = False # 改為True可以看到excel的打開窗口
 
  for file in source_file_list:
    source_workbook = run_app.Workbooks.Open(Filename=file)
    destination_workbook = run_app.Workbooks.Open(Filename=destination_file)
 
    source_workbook.Worksheets(1).Copy(Before=destination_workbook.Worksheets(1))
    destination_workbook.Close(SaveChanges=True)
 
  run_app.Quit()
 
 
class ParameterGenerator:
 
  def __init__(self):
    # self.directory_path = directory_path
    self.file_lists = []
 
  def creat_xlsx(self, directory_path):
    obj = Workbook()
    if not os.path.exists(directory_path + os.sep + 'joined'):
      os.mkdir(directory_path + os.sep + 'joined')
    date = str(datetime.datetime.today())[0:10]
    obj.save(directory_path + os.sep + 'joined' + os.sep + 'joined {}.xlsx'.format(date))
 
  def get_file_list(self, directory_path):
    entry_lists = os.scandir(directory_path)
    for entry_list in entry_lists:
      if entry_list.is_file():
        if '~$' not in entry_list.path:
          self.file_lists.append(entry_list.path)
    return self.file_lists
 
  def run(self, directory_path):
    file_lists = self.get_file_list(directory_path)
    self.creat_xlsx(directory_path)
    destination_file = str(self.get_file_list(directory_path + os.sep + 'joined')[-1])
    file_lists.pop(-1)
    return file_lists, destination_file
if __name__ == "__main__":
  directory_path = r'D:\Excel目錄'
  param = ParameterGenerator()
  source_file_list, destination_file = param.run(directory_path)
  copy_excel_file(source_file_list, destination_file)

輸出是文件夾下新建一個'joined‘的文件夾,里面有一個合并后的文件'joined xxxx-xx-xx.xlsx',如下:

Python調用接口合并Excel表代碼實例

Python調用接口合并Excel表代碼實例

目前發現有兩個需要注意的問題:

1. 需要合并的文件中不能有隱藏的表格,否則,會跳過該文件;

2. 文件名中不可以字符意外的標記,比如括號之類的。

最后,調用接口的速度有點慢,以后有機會還是看openpyxl是否可以實現一下,含格式的合并。xlwings是類似的實現,估計速度也差不多的慢。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

景泰县| 兰州市| 哈密市| 武山县| 苏尼特左旗| 邯郸市| 庆安县| 山西省| 聂拉木县| 桓台县| 凉城县| 聂荣县| 林州市| 聂拉木县| 海原县| 鄂尔多斯市| 嵩明县| 肥东县| 惠州市| 彝良县| 海丰县| 西吉县| 吴旗县| 吉林市| 偏关县| 拉萨市| 治多县| 钦州市| 砀山县| 三原县| 夏津县| 湄潭县| 凉城县| 枣阳市| 定边县| 昌图县| 兴业县| 东兰县| 洞头县| 湘潭县| 大埔县|