久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:39日期:2022-07-31 15:31:54

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

上代碼:

from openpyxl import Workbookfrom win32com.client import Dispatchimport osimport 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_fileif __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是類似的實現,估計速度也差不多的慢。

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

標簽: python
相關文章:
主站蜘蛛池模板: 平阴县| 德安县| 论坛| 从江县| 浦东新区| 东安县| 宁都县| 临海市| 无锡市| 九龙坡区| 巫山县| 平和县| 子长县| 津市市| 维西| 进贤县| 拉萨市| 江西省| 武山县| 台州市| 鹤峰县| 施秉县| 崇信县| 礼泉县| 保德县| 泗洪县| 宝应县| 呈贡县| 江达县| 清镇市| 温泉县| 临沧市| 堆龙德庆县| 常州市| 浦东新区| 舟曲县| 吉安市| 柯坪县| 北碚区| 车险| 内黄县|