Python批量處理工作簿和工作表的實現示例

2022-09-25 03:54:07 字數 4669 閱讀 3930

目錄

**import xlwings as xw

# 啟動 excel,但不新建工作簿

app = xw.app(visible=true,add_book=false)

for i in range(5):

#新建工作簿

workbook = app.books.add()

#儲存工作簿

workbook.s**e(f'test.xlsx')

#將工作簿關閉

workbook.close()

import xlwings as xw

import os

# 給出工作簿所在的資料夾路徑

path_file = r'e:/python1/python_module'

# 列出該資料夾中所有的子檔案或子資料夾

file_list = os.listdir(path_file)

# 啟動excel

app = 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

# 啟動excel

app = xw.app(visible=true,add_book=false)

# 開啟工作簿

workbook = app.books.open('table.xlsx')

#獲取工作簿的所有工作表

worhsheets = workbook.sheets

for i in range(len(worhsheets)):

# 重新命名工作表

worhsheets[i].name = worhsheets[i].name.replace('銷售','')

#另存重新命名後的工作簿

workbook.s**e('table1.xlsx')

#退出excel程式

app.quit()

不過這是有前提條件的,要重新命名的工作簿名必

須是有規律的,如表1、表2、表3;或者含有相同的關鍵字。

import xlwings as xw

import os

# 給出工作簿所在的資料夾路徑

path_file = r'e:/python1/python_module'

# 列出該資料夾中所有的子檔案或子資料夾

file_list = os.listdir(path_file)

old_book_name = '銷售表'

new_book_name = '分部銷售表'

# 啟動excel

app = 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會在使用過程中生成一些檔名以"~$"開頭的臨時檔案,如果有這些檔案就跳過。

步驟

**:import xlwings as xw

import 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.s**e()

app.quit()

步驟:

**import xlwings as xw

import 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.s**e()

app.quit()

.exwww.cppcns.compand()是xlwings模組中的函式,用於擴充套件選擇範圍。語法格式如下

expand(mode) 預設值是 『table',表示向整個資料表擴充套件。也可以是'down'(下方)或'right'(右方)

import os

import xlwings as xw

filr_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 = dictwww.cppcns.com()

#按行遍歷工作表資料

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.s**e('{}.xlsx'.format(key))

app.quit()

用數字說話 產品經理如何處理工作中的突發事件

在日常工作中,我認為有且僅有以下3種情況 在每天繁忙的工作中,我們免不了會遇到各類突發性事件,從而影響 干擾我們完成既定的工作計畫。令人頭痛,需採用必要地手段將其產生的負面影響控制在最小範圍。以下將對此話題作深入 1 文章中涉及到的資料均 於我個人的工作日誌 2010年7月 9月 2 因為我的職業為...

python批量處理

coding utf 8 created on sat jun 20 19 36 34 2015 author chaofn import os 這個程式的目的是將linux下 ifs home fanchao manesh pdb目錄中的所有檔案 一共有215個檔案 批處理將pdb檔案生成dssp...

總結幾個好用的文字批量處理工具

1.批量檔案重新命名工具 拖把更名器 使用方法 1 選中需要更名的多個檔案,直接拖入到軟體中,填寫需要替換的字串。2 單擊選單欄的更名 應用,即可執行更名 2.批量修改檔案中的文字內容 超級批量文字替換5.0 可以查詢指定資料夾及其子資料夾中的所有檔案進行文字內容替換。3.批量html檔案轉pdf ...