摘要:使用批量處理工作簿和工作表批量新建并保存工作簿批量打開一個(gè)文件夾中的打開工作簿批量重命名一個(gè)工作簿的所有工作表批量重命名多個(gè)工作簿批量重命名多個(gè)工作簿中的同名工作表將一個(gè)工作簿的所有工作表批量復(fù)制到其他工作簿按條件將一
代碼
import xlwings as xw# 啟動(dòng) Excel,但不新建工作簿app = xw.App(visible=True,add_book=False)for i in range(5): #新建工作簿 workbook = app.books.add() #保存工作簿 workbook.save(f"test{i}.xlsx") #將工作簿關(guān)閉 workbook.close()
import xlwings as xwimport os# 給出工作簿所在的文件夾路徑path_file = r"E:/python1/python_module"# 列出該文件夾中所有的子文件或子文件夾file_list = os.listdir(path_file)# 啟動(dòng)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# 啟動(dòng)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()
不過這是有前提條件的,要重命名的工作簿名必
須是有規(guī)律的,如表1、表2、表3;或者含有相同的關(guān)鍵字。
import xlwings as xwimport os# 給出工作簿所在的文件夾路徑path_file = r"E:/python1/python_module"# 列出該文件夾中所有的子文件或子文件夾file_list = os.listdir(path_file)old_book_name = "銷售表"new_book_name = "分部銷售表"# 啟動(dòng)Excelapp = xw.App(visible=True,add_book=False)for i in file_list: if i.startswith("~$"): continue # 執(zhí)行查找和替換,生成新的工作簿名 new_file = i.replace(old_book_name,new_book_name) # 構(gòu)造需要重命名工作簿的完整路徑 old_path_filr = os.path.join(path_file,i) #構(gòu)建重命名后工作簿的完整路徑 new_path_file = os.path.join(path_file,new_file) # 重命名 os.rename(old_path_filr,new_path_file)
if i.startswith(’~$’):
continue
因?yàn)镋xcel會(huì)在使用過程中生成一些文件名以"~$"
開頭的臨時(shí)文件,如果有這些文件就跳過。
步驟
代碼:
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()
步驟:
代碼
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)) # 寫入數(shù)據(jù) workbooks.sheets[name].range("A1").value = contents # 保存工作簿 workbook.save()app.quit()
.expand()
是xlwings
模塊中的函數(shù),用于擴(kuò)展選擇范圍。語法格式如下
expand(mode) 默認(rèn)值是 ‘table’,表示向整個(gè)數(shù)據(jù)表擴(kuò)展。也可以是’down’(下方)或’right’(右方)
import osimport xlwings as xwfilr_path = "e://table//產(chǎn)品統(tǒng)計(jì)表.xlsx"sheet_name = "統(tǒng)計(jì)表"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# 創(chuàng)建一個(gè)空字典用于按產(chǎn)品名稱來分類存放數(shù)據(jù)data = dict()#按行遍歷工作表數(shù)據(jù)for i in range(len(value)): # 獲取當(dāng)前行的第一個(gè)空格中的數(shù)據(jù) product_name = value[i][1] # 如果沒有該產(chǎn)品 if product_name not in data: # 創(chuàng)建一個(gè)與當(dāng)前行名稱對(duì)應(yīng)的空列表 data[product_name] = [] # 將當(dāng)前數(shù)據(jù)追加當(dāng)列表中 data[product_name].append(value[i])for key,value in data.items(): # 新建目標(biāo)工作簿 new_workbook = app.books.add() #新建工作表 new_sheet = new_workbook.sheets.add(key) # 將要拆分的工作表的列標(biāo)題復(fù)制到新建的工作表中 new_sheet["A1"].value = worksheet["A1:H1"].value # 將數(shù)據(jù)復(fù)制 new_sheet["A2"].value = value new_workbook.save("{}.xlsx".format(key))app.quit()
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/119308.html
摘要:網(wǎng)址庫的安裝和使用自帶了等深度學(xué)習(xí)基礎(chǔ)庫。遍歷目錄列出根目錄的所有文件查詢條件教程詳見可以看到控制臺(tái)打印結(jié)果測(cè)試其中是接下來的教程獲取文件的唯一標(biāo)識(shí)。該示例演示的是對(duì)健康科技設(shè)計(jì)三個(gè)類別的標(biāo)題進(jìn)行分類。 showImg(https://segmentfault.com/img/remote/1460000012731670); 原文鏈接 https://jinkey.ai/post/t...
摘要:簡(jiǎn)介項(xiàng)目地址主從環(huán)境下數(shù)據(jù)一致性校驗(yàn)經(jīng)常會(huì)用工具,它的原理及實(shí)施過程之前寫過一篇文章生產(chǎn)環(huán)境使用檢查數(shù)據(jù)一致性。上面的配置文件可以認(rèn)為是用于控制程序的,這個(gè)配置文件是指定要校驗(yàn)的源庫和目標(biāo)庫信息,以及要檢驗(yàn)?zāi)男┍怼? 1. 簡(jiǎn)介 項(xiàng)目地址:https://github.com/seanlook/p... 主從環(huán)境下數(shù)據(jù)一致性校驗(yàn)經(jīng)常會(huì)用 pt-table-checksum 工具,它的原理...
閱讀 4031·2021-11-22 13:53
閱讀 1732·2021-09-23 11:52
閱讀 2448·2021-09-06 15:02
閱讀 964·2019-08-30 15:54
閱讀 912·2019-08-30 14:15
閱讀 2394·2019-08-29 18:39
閱讀 666·2019-08-29 16:07
閱讀 427·2019-08-29 13:13