好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Python自動化之批量處理工作簿和工作表

Python自動化之批量處理工作簿和工作表

熱門標簽:地圖標注面積 朝陽手機外呼系統 儋州電話機器人 所得系統電梯怎樣主板設置外呼 市場上的電銷機器人 佛山400電話辦理 北京電銷外呼系統加盟 小蘇云呼電話機器人 北瀚ai電銷機器人官網手機版

一、批量新建并保存工作簿

import xlwings as xw     # 導入庫
# 啟動Excel程序,但不新建工作簿
app = xw.App(visible = True, add_book = False)
 
for i in range(6):
    workbook = app.books.add()   # 新建工作簿
    workbook.save(f'e:\\file\\test{i}.xlsx')    # 保存新建的多個工作簿
    workbook.close()     # 關閉當前工作簿
app.quit()     # 退出Excel程序

二、批量打開一個文件夾下的所有工作簿

1.批量打開一個文件夾下的所有工作簿

import os
import xlwings as xw
 
file_path = 'e:\\table'     # 給出工作簿所在的文件夾路徑
file_list = os.listdir(file_path)     # 列出路徑下所有文件和子文件夾的名稱
app = xw.App(visible = True, add_book = False)    # 啟動Excel程序
for i in file_list:
    if os.path.splitext(i)[1] == '.xlsx':       # 判斷文件夾下文件的擴展名是否為“.xlsx”
        app.books.open(file_path + '\\' + i)    # 打開工作簿

2.列出文件夾下所有文件和子文件夾的名稱

import os
file_path = 'table'
file_list = os.listdir(file_path)
for i in file_list:
    print(i)

三、批量重命名一個工作簿中所有工作表

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

import xlwings as xw
app = xw.App(visible = False, add_book = False)
workbook = app.books.open('e:\\table\\統計表.xlsx')
worksheets = workbook.sheets     # 獲取工作簿中所有的工作表
 
for i in range(len(worksheets)):   # 遍歷獲取到的工作表
    worksheets[i].name = worksheets[i].name.replace('銷售', '')     # 重命名工作表
workbook.save('e:\\table\\統計表1.xlsx')       # 另存重命名工作表后的工作簿
app.quit()

2.批量重命名一個工作簿中的部分工作表

import xlwings as xw
app = xw.App(visible = False, add_book = False)
workbook = app.books.open('e:\\table\\統計表.xlsx')
worksheets = workbook.sheets    # 獲取工作簿中所有的工作表
 
for i in range(len(worksheets))[:5]:   # 通過切片來選中部分工作表
    worksheets[i].name = worksheets[i].name.replace('銷售', '')   # 重命名工作表
workbook.save('e:\\table\\統計表1.xlsx')    # 另存重命名工作表后的工作簿
app.quit()

四、批量重命名工作簿

1.批量重命名多個工作簿

import os    # 導入庫
 
file_path = 'e:\\table\\產品銷售表'   # 給出待重命名工作簿所在文件夾的路徑
file_list = os.listdir(file_path)    # 列出文件夾下所有文件和子文件夾的名稱
 
old_book_name = '銷售表'           # 給出工作簿名中需要替換的舊關鍵字
new_book_name = '分部產品銷售表'    # 給出工作簿名中要替換的新關鍵字
 
for i in file_list:
    if i.startswith('~$'):   # 判斷是否有文件夾名以“~$”開頭的臨時文件
        continue     # 如果有,則跳過這種類型的文件
        
    new_file = i.replace(old_book_name, new_book_name)    # 執行查找和替換,生成新的工作簿名
    old_file_path = os.path.join(file_path, i)            # 構造需要重命名工作簿的完整路徑
    new_file_path = os.path.join(file_path, new_file)     # 構造重命名后工作簿的完整路徑
    os.rename(old_file_path, new_file_path)     # 執行重命名

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

import os
import xlwings as xw
 
file_path = 'e:\\table\\信息表'
file_list = os.listdir(file_path)
 
old_sheet_name = 'Sheet1'    # 給出需要修改的工作表名
new_sheet_name = '員工信息'   # 列出修改后的工作表名
 
app = xw.App(visible = False, add_book = False)
 
for i in file_list:
    if i.startswith('~$'):
        continue
 
    old_file_path = os.path.join(file_path, i)
    workbook = app.books.open(old_file_path)
 
    for j in workbook.sheets:
        if j.name == old_sheet_name:    # 判斷工作表名是否為“sheet1”
            j.name = new_sheet_name     # 如果是,則重命名工作表
            
    workbook.save()
app.quit()

五、在多個工作簿中批量新增/刪除工作表

1.批量新增工作表

import os
import xlwings as xw
 
file_path = 'e:\\table\\銷售表'
file_list = os.listdir(file_path)
 
sheet_name = '產品銷售區域'    # 給出新增的工作表名稱
app = xw.App(visible = False, add_book = False)
 
for i in file_list:
    if i.startswith('~$'):
        continue
        
    file_paths = os.path.join(file_path, i)
    workbook = app.books.open(file_paths)
    sheet_names = [j.name for j in workbook.sheets]
    if sheet_name not in sheet_names:
        workbook.sheets.add(sheet_name)
        workbook.save()
app.quit()

2.批量刪除工作表

import os
import xlwings as xw
 
file_path = 'e:\\table\\銷售表1'
file_list = os.listdir(file_path)
 
sheet_name = '產品銷售區域'   # 給出要刪除的工作表名稱
app = xw.App(visible = False, add_book = False)
 
for i in file_list:
    if i.startswith('~$'):
        continue
        
    file_paths = os.path.join(file_path, i)
    workbook = app.books.open(file_paths)
    for j in workbook.sheets:
        if j.name == sheet_name:
            j.delete()
            break
    workbook.save()
app.quit()

六、批量打印工作簿

1.批量打印工作簿

import os
import xlwings as xw
 
file_path = 'e:\\table\\公司'
file_list = os.listdir(file_path)
app = xw.App(visible = False, add_book = False)
 
for i in file_list:
    if i.startswith('~$'):
        continue
        
    file_paths = os.path.join(file_path, i)   # 獲取需要打印的工作簿的文件路徑
    workbook = app.books.open(file_paths)    # 打開要打印的工作簿
    
    workbook.api.PrintOut()   # 打印工作簿
app.quit()

2.批量打印多個工作簿中的指定工作表

import os
import xlwings as xw
 
file_path = 'e:\\table\\公司1'
file_list = os.listdir(file_path)
 
sheet_name = '產品分類表'     # 給出要打印的工作表的名稱
app = xw.App(visible = False, add_book = False)
 
for i in file_list:
    if i.startswith('~$'):
        continue
        
    file_paths = os.path.join(file_path, i)
    workbook = app.books.open(file_paths)
    
    for j in workbook.sheets:
        if j.name == sheet_name:     # 判斷工作簿中是否存在名為“產品分類表”的工作表
            j.api.PrintOut()    # 如果存在,則打印該表
            break
app.quit()   # 退出Excel程序

七、將一個工作簿的所有工作表批量賦值到其他工作簿

1.將一個工作簿的所有工作表批量賦值到其他工作簿

import os
import xlwings as xw
 
app = xw.App(visible = False, add_book = False) 
file_path = 'e:\\table\\銷售表'   
file_list = os.listdir(file_path)  
 
workbook = app.books.open('e:\\table\\信息表.xlsx')  
worksheet = workbook.sheets
 
for i in file_list:  
    if os.path.splitext(i)[1] == '.xlsx':      # 判斷文件是否有工作簿
        workbooks = app.books.open(file_path + '\\' + 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      # 將從來源工作簿中讀取的工作表數據寫入新增工作表
        workbooks.save()        # 保存目標工作簿
app.quit()

2.將指定工作表的數據批量復制到其他工作簿的指定工作表中

import os
import xlwings as xw
app = xw.App(visible = False, add_book = False)
 
file_path = 'e:\\table\\銷售表1'  
file_list = os.listdir(file_path)  
 
workbook = app.books.open('e:\\table\\新增產品表.xlsx')  
worksheet = workbook.sheets['新增產品']           # 選中工作表“新增產品”
value = worksheet.range('A1').expand('table')   # 讀取工作表“新增產品”中的所有數據
start_cell = (2, 1)                             # 給出要復制數據的單元格區域的起始單元格
end_cell = (value.shape[0], value.shape[1])    # 給出要復制數據的單元格區域的結束單元格
cell_area = worksheet.range(start_cell, end_cell).value   # 根據前面設定的單元格區域選取要復制的數據
 
for i in file_list:  
    if os.path.splitext(i)[1] == '.xlsx': 
        try:
            workbooks = xw.Book(file_path + '\\' + i)  
            sheet = workbooks.sheets['產品分類表']       # 選中要粘貼數據的工作表“產品分類表”
            scope = sheet.range('A1').expand()          # 選中要粘貼數據的單元格區域
            sheet.range(scope.shape[0] + 1, 1).value = cell_area     # 粘貼數據
            workbooks.save()     # 保存目標工作簿
            
        finally:
            workbooks.close()     # 關閉目標工作簿
workbook.close()                  # 關閉來源工作簿
app.quit()

八、按條件將一個工作表批量賦值到其他工作簿

1.將多個工作表拆分為多個工作簿

import xlwings as xw
workbook_name = 'e:\\table\\產品銷售表.xlsx'        # 指定要拆分的來源工作簿
app = xw.App(visible = False, add_book = False)
 
header = None    
all_data = []  
workbook = app.books.open(workbook_name)
 
for i in workbook.sheets:                 # 遍歷來源工作簿中的工作表
    workbook_split = app.books.add()      # 新建一個目標工作簿
    sheet_split = workbook_split.sheets[0]     # 選擇目標工作簿中的第一個工作表
    i.api.Copy(Before = sheet_split.api)       # 將來源工作簿中的當前工作表復制到目標工作簿的第一個工作表之前
    workbook_split.save('{}'.format(i.name))   # 以當前工作表的名稱作為文件名保存目標工作簿
app.quit()

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

import xlwings as xw
import pandas as pd
app = xw.App(visible = True, add_book = False)
 
workbook = app.books.open('e:\\table\\產品統計表.xlsx')
worksheet = workbook.sheets['統計表']
# 讀取要拆分的工作表數據
value = worksheet.range('A1').options(pd.DataFrame, header = 1, index = False, expand = 'table').value 
data = value.groupby('產品名稱')    # 將數據按照“產品名稱”分組
 
for idx, group in data: 
    new_worksheet = workbook.sheets.add(idx)      # 在工作簿中新增工作表并命名為當前的產品名稱
    new_worksheet['A1'].options(index = False).value = group      # 將數據添加到新增的工作表
workbook.save()
workbook.close()
app.quit()

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

import xlwings as xw
 
file_path = 'e:\\table\\產品統計表.xlsx'
sheet_name = '統計表'
app = xw.App(visible = True, add_book = False)
 
workbook = app.books.open(file_path)
worksheet = workbook.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 = xw.books.add()
    new_worksheet = new_workbook.sheets.add(key)
    new_worksheet['A1'].value = worksheet['A1:H1'].value
    new_worksheet['A2'].value = value
    new_workbook.save('{}.xlsx'.format(key))
app.quit()

九、批量合并多個工作簿中的同名工作表

1.批量合并多個工作簿中的同名工作表

import os
import xlwings as xw
 
file_path = 'e:\\table\\銷售統計'
file_list = os.listdir(file_path)
sheet_name = '產品銷售統計'
app = xw.App(visible = False, add_book = False)
header = None
all_data = []
for i in file_list:
    if i.startswith('~$'):
        continue   
    file_paths = os.path.join(file_path, i)
    workbook = app.books.open(file_paths)
    for j in workbook.sheets:
        if j.name == sheet_name:
            if header == None:
                header = j['A1:I1'].value
            values = j['A2'].expand('table').value
            all_data = all_data + values
new_workbook = xw.Book()
new_worksheet = new_workbook.sheets.add(sheet_name)   
new_worksheet['A1'].value = header
new_worksheet['A2'].value = all_data
new_worksheet.autofit()
new_workbook.save('e:\\table\\上半年產品銷售統計表.xlsx')
app.quit()

2.將工作簿中名稱有規律的工作表合并到一個工作表

import os
import xlwings as xw
workbook_name = 'e:\\table\\采購表.xlsx'
sheet_names = [str(sheet)+'月' for sheet in range(1,7)]
new_sheet_name = '上半年統計表'
app = xw.App(visible = False, add_book = False)
header = None
all_data = []
workbook = app.books.open(workbook_name)
for i in workbook.sheets:
    if new_sheet_name in i.name: 
        i.delete()
new_worksheet = workbook.sheets.add(new_sheet_name)
title_copyed = False
for j in workbook.sheets:
    if j.name in sheet_names:
        if title_copyed == False:
            j['A1'].api.EntireRow.Copy(Destination = new_worksheet["A1"].api)
            title_copyed = True
        row_num = new_worksheet['A1'].current_region.last_cell.row
        j['A1'].current_region.offset(1, 0).api.Copy(Destination = new_worksheet["A{}".format(row_num + 1)].api)
new_worksheet.autofit()
workbook.save()
app.quit()

到此這篇關于Python自動化之批量處理工作簿和工作表的文章就介紹到這了,更多相關Python處理工作簿和工作表內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解Python自動化之文件自動化處理
  • Python自動掃描出微信不是好友名單的方法
  • python自動化之如何利用allure生成測試報告
  • 用python自動生成日歷
  • 用Python自動下載網站所有文件
  • 用Python寫腳本自動評論再也不怕碰到噴子

標簽:酒泉 定西 云南 商丘 龍巖 江蘇 寧夏 金融催收

巨人網絡通訊聲明:本文標題《Python自動化之批量處理工作簿和工作表》,本文關鍵詞  Python,自動化,之,批量,處理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python自動化之批量處理工作簿和工作表》相關的同類信息!
  • 本頁收集關于Python自動化之批量處理工作簿和工作表的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 色吊丝在线观看国产| 国产aⅴ激情无码久久久无码| 国产做爰又粗又大免费看真人视频| 男人用鸡鸡捅女人的鸡鸡| 韩国电影免费完整版| 日日噜噜夜夜狠狠视频buoke| 男男靠逼视频| 女女肠灌调教小说| free性中国丰满护士| 国产欧美??????| 97视频免费人人观看人人| 机智的恋爱| 521av在线| 羞羞漫画_成人漫画_成人专用| 榴莲视频让你流连忘返的视频| 变态拳头交视频一区二区| 韩国理伦片一级A片友真| 黄色com| 国产农村妇女AA片多毛| 久久久久精品妖色五月影视| 三级黄色片a| 解开了她的乳峰摸了上去| 变性后被老板占为私有财产犯法吗 | 粗大挺进紧致抽搐喷潮| 国产?高潮?白浆?喷水 | 99精品久久精品一区二区| 国产在线视频网站| 国产?喷水?白浆?高潮| 乖女好紧h侯府荡女陆明月| 好男人看视频免费2019中文 | 亚洲综合中文字幕| 波多野结衣电影| 久久精品欧美AV无码四区| 日韩欧美国产精品| 又硬又粗进去好爽A片麻豆网站| 解剖丰满裸体女尸| 色狠狠色综合久久久| 波多野结衣初尝黑人138| 别拔出来让我好好爽爽| 国产真人毛片爱做A级毛潘金莲√| 蜜糖直播app下载|