国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用Python批量處理工作簿和工作表

maxmin / 2433人閱讀

摘要:使用批量處理工作簿和工作表批量新建并保存工作簿批量打開一個文件夾中的打開工作簿批量重命名一個工作簿的所有工作表批量重命名多個工作簿批量重命名多個工作簿中的同名工作表將一個工作簿的所有工作表批量復制到其他工作簿按條件將一

批量新建并保存工作簿

代碼

import xlwings as xw# 啟動 Excel,但不新建工作簿app = xw.App(visible=True,add_book=False)for i in range(5):	#新建工作簿    workbook = app.books.add()    #保存工作簿    workbook.save(f"test{i}.xlsx")    #將工作簿關閉    workbook.close()

批量打開一個文件夾中的打開工作簿

import xlwings as xwimport os# 給出工作簿所在的文件夾路徑path_file = r"E:/python1/python_module"# 列出該文件夾中所有的子文件或子文件夾file_list = os.listdir(path_file)# 啟動Excelapp = xw.App(visible=True,add_book=False)for i in file_list:    # 判斷文件是否為 Excel文件    if os.path.splitext(i)[1] ==".xlsx":        #打開        app.books.open(i)

批量重命名一個工作簿的所有工作表

import xlwings as xw# 啟動Excelapp = xw.App(visible=True,add_book=False)# 打開工作簿workbook = app.books.open("table.xlsx")#獲取工作簿的所有工作表worhsheets = workbook.sheetsfor i in range(len(worhsheets)):    # 重命名工作表    worhsheets[i].name = worhsheets[i].name.replace("銷售","")#另存重命名后的工作簿workbook.save("table1.xlsx")#退出Excel程序app.quit()

批量重命名多個工作簿

不過這是有前提條件的,要重命名的工作簿名必
須是有規律的,如表1、表2、表3;或者含有相同的關鍵字。

import xlwings as xwimport os# 給出工作簿所在的文件夾路徑path_file = r"E:/python1/python_module"# 列出該文件夾中所有的子文件或子文件夾file_list = os.listdir(path_file)old_book_name = "銷售表"new_book_name = "分部銷售表"# 啟動Excelapp = xw.App(visible=True,add_book=False)for i in file_list:    if i.startswith("~$"):        continue    # 執行查找和替換,生成新的工作簿名    new_file = i.replace(old_book_name,new_book_name)    # 構造需要重命名工作簿的完整路徑    old_path_filr = os.path.join(path_file,i)    #構建重命名后工作簿的完整路徑    new_path_file = os.path.join(path_file,new_file)    # 重命名    os.rename(old_path_filr,new_path_file)

if i.startswith(’~$’):
continue

因為Excel會在使用過程中生成一些文件名以"~$"開頭的臨時文件,如果有這些文件就跳過。

批量重命名多個工作簿中的同名工作表

步驟

  1. 打印出文件夾中所有子文件的名稱
  2. 與文件夾路徑拼接成完整的文件名后,打開
  3. 遍歷文件中的所有工作表,如果名字相同就更改
  4. 保存工作表目錄

代碼:

import xlwings as xwimport os# 給出工作簿所在的文件夾路徑path_file = r"E:/python1/python_module"# 列出該文件夾中所有的子文件或子文件夾file_list = os.listdir(path_file)old_sheet = "sheet1"new_sheet = "員工信息"app = xw.App(visible=True,add_book= False) # 遍歷工作簿for i in path_file:    if i.startswith("~$"):        continue    # 拼接出完整路徑    old_path_file = os.path.join(path_file,i)    # 打開工作簿    workbook = app.books.open(old_path_file)    # 遍歷工作表    for j in workbook.sheets:        if j.name == old_sheet:            j.name = new_sheet    # 保存工作簿    workbook.save()app.quit()

將一個工作簿的所有工作表批量復制到其他工作簿

步驟:

  1. 獲取目標(復制到的)文件夾的所有子文件
  2. 打開源文件(被復制的),并獲取其所有的工作表信息。
  3. 遍歷所有的子文件,如果是Excel文件就打開
  4. 在目標工作簿中新增工作表
  5. 將來源工作表的數據寫入新增工作表中

代碼

import xlwings as xwimport os# 給出工作簿所在的文件夾路徑path_file = r"E:/python1/python_module"# 列出該文件夾中所有的子文件或子文件夾file_list = os.listdir(path_file)app = xw.App(visible=True,add_book= False)workbook = app.books.open("來源工作簿路徑")worksheet = workbook.sheets # 子文件for i in path_file:    if os.path.splitext(i)[1] ==".xlsx":        # 打開工作簿        workbooks = app.books.open(path_file+"/"+i)        # 遍歷工作表        for j in worksheet:            # 讀取工作表中的信息            contents = j.range("A1").expand("table").value            # 讀取工作表的名稱            name = j.name            # 增加同名的工作表            workbooks.sheets.add(name = name,after = len(workbooks.sheets))            # 寫入數據            workbooks.sheets[name].range("A1").value = contents        # 保存工作簿        workbook.save()app.quit()

.expand()xlwings模塊中的函數,用于擴展選擇范圍。語法格式如下

expand(mode) 默認值是 ‘table’,表示向整個數據表擴展。也可以是’down’(下方)或’right’(右方)

按條件將一個工作表拆分為多個工作簿

import  osimport xlwings as xwfilr_path = "e://table//產品統計表.xlsx"sheet_name = "統計表"app = xw.App(visible = True ,add_book= False)# 打開工作簿workbooh = app.books.open(filr_path)# 獲取指定的工作表worksheet = workbooh.sheets[sheet_name]# 讀取工作表中的所有信息value = worksheet.range("A2").expand("table").value# 創建一個空字典用于按產品名稱來分類存放數據data = dict()#按行遍歷工作表數據for i in range(len(value)):    # 獲取當前行的第一個空格中的數據    product_name = value[i][1]    # 如果沒有該產品    if product_name not in data:        # 創建一個與當前行名稱對應的空列表        data[product_name] = []    # 將當前數據追加當列表中    data[product_name].append(value[i])for key,value in data.items():    # 新建目標工作簿    new_workbook = app.books.add()    #新建工作表    new_sheet = new_workbook.sheets.add(key)    # 將要拆分的工作表的列標題復制到新建的工作表中    new_sheet["A1"].value = worksheet["A1:H1"].value    # 將數據復制    new_sheet["A2"].value = value    new_workbook.save("{}.xlsx".format(key))app.quit()

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/119308.html

相關文章

  • 想免費用谷歌資源訓練神經網絡?Colab 詳細使用教程 —— Jinkey 原創

    摘要:網址庫的安裝和使用自帶了等深度學習基礎庫。遍歷目錄列出根目錄的所有文件查詢條件教程詳見可以看到控制臺打印結果測試其中是接下來的教程獲取文件的唯一標識。該示例演示的是對健康科技設計三個類別的標題進行分類。 showImg(https://segmentfault.com/img/remote/1460000012731670); 原文鏈接 https://jinkey.ai/post/t...

    XboxYan 評論0 收藏0
  • MySQL非主從環境下數據一致性校驗及修復程序

    摘要:簡介項目地址主從環境下數據一致性校驗經常會用工具,它的原理及實施過程之前寫過一篇文章生產環境使用檢查數據一致性。上面的配置文件可以認為是用于控制程序的,這個配置文件是指定要校驗的源庫和目標庫信息,以及要檢驗哪些表。 1. 簡介 項目地址:https://github.com/seanlook/p... 主從環境下數據一致性校驗經常會用 pt-table-checksum 工具,它的原理...

    104828720 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<