欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python調(diào)用接口合并Excel表代碼實(shí)例

 更新時(shí)間:2020年03月31日 12:02:35   作者:Johnthegreat  
這篇文章主要介紹了Python調(diào)用接口合并Excel表代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

在工作中經(jīng)常遇到需要打開許多個(gè)excel表格,然后合并的需求,合并的同時(shí)要求格式必須原汁原味的保留。利用VBA代碼可以比較輕松的解決,現(xiàn)在我們來(lái)看Python中如何實(shí)現(xiàn)。

上代碼:

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)

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

目前發(fā)現(xiàn)有兩個(gè)需要注意的問題:

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

2. 文件名中不可以字符意外的標(biāo)記,比如括號(hào)之類的。

最后,調(diào)用接口的速度有點(diǎn)慢,以后有機(jī)會(huì)還是看openpyxl是否可以實(shí)現(xiàn)一下,含格式的合并。xlwings是類似的實(shí)現(xiàn),估計(jì)速度也差不多的慢。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python如何提取html中文本到txt

    Python如何提取html中文本到txt

    這篇文章主要介紹了Python如何提取html中文本到txt問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python+Tkinter實(shí)現(xiàn)RGB數(shù)值轉(zhuǎn)換為16進(jìn)制碼

    Python+Tkinter實(shí)現(xiàn)RGB數(shù)值轉(zhuǎn)換為16進(jìn)制碼

    這篇文章主要為大家詳細(xì)介紹了Python如何利用Tkinter編寫一個(gè)RGB數(shù)值轉(zhuǎn)換為16進(jìn)制碼的小工具,文中的示例代講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-01-01
  • python爬蟲爬取快手視頻多線程下載功能

    python爬蟲爬取快手視頻多線程下載功能

    這篇文章主要介紹了python爬蟲爬取快手視頻多線程下載功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • python內(nèi)置函數(shù)zip詳解

    python內(nèi)置函數(shù)zip詳解

    這篇文章主要為大家介紹了python內(nèi)置函數(shù)zip,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • python代碼打包工具cx_Freeze的安裝及用法詳解

    python代碼打包工具cx_Freeze的安裝及用法詳解

    cx_Freeze是一個(gè)流行的Python庫(kù),它可以將Python腳本及其依賴項(xiàng)打包成獨(dú)立的可執(zhí)行文件,支持多平臺(tái)(如Windows、Linux和macOS),本文將結(jié)合實(shí)際案例,詳細(xì)介紹cx_Freeze的安裝、配置和使用方法,需要的朋友可以參考下
    2024-08-08
  • Python opencv操作深入詳解

    Python opencv操作深入詳解

    這篇文章主要介紹了Python opencv操作深入詳解,文中整理的比較詳細(xì),有感興趣的同學(xué)可以學(xué)習(xí)下
    2021-03-03
  • Python3.5內(nèi)置模塊之random模塊用法實(shí)例分析

    Python3.5內(nèi)置模塊之random模塊用法實(shí)例分析

    這篇文章主要介紹了Python3.5內(nèi)置模塊之random模塊用法,結(jié)合實(shí)例形式分析了Python3.5 random模塊生成隨機(jī)數(shù)與隨機(jī)字符串相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • Python倒排索引之查找包含某主題或單詞的文件

    Python倒排索引之查找包含某主題或單詞的文件

    倒排索引(英語(yǔ):Inverted index),也常被稱為反向索引、置入檔案或反向檔案,是一種索引方法,被用來(lái)存儲(chǔ)在全文搜索下某個(gè)單詞在一個(gè)文檔或者一組文檔中的存儲(chǔ)位置的映射。這篇文章主要介紹了Python倒排索引之查找包含某主題或單詞的文件,需要的朋友可以參考下
    2019-11-11
  • python爬蟲 2019中國(guó)好聲音評(píng)論爬取過(guò)程解析

    python爬蟲 2019中國(guó)好聲音評(píng)論爬取過(guò)程解析

    這篇文章主要介紹了python爬蟲 2019中國(guó)好聲音評(píng)論爬取過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python一行代碼解決矩陣旋轉(zhuǎn)的問題

    Python一行代碼解決矩陣旋轉(zhuǎn)的問題

    今天小編就為大家分享一篇Python一行代碼解決矩陣旋轉(zhuǎn)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11

最新評(píng)論