批量替换xls所有文件的某个内容

import os
import xlrd
import xlwt
from openpyxl import load_workbook
replacements = {
'今天': '明天',
# 在此添加更多的替换规则
}
遍历当前文件夹下所有excel文件
for file in os.listdir():
if not file.endswith('.xls'):
continue
print(f'开始处理文件: {file}')
# 打开excel文件
book = xlrd.open_workbook(file, on_demand=True)
new_book = xlwt.Workbook()
ischange = False
# 遍历每个sheet
for i in range(book.nsheets):
    sheet = book.sheet_by_index(i)
    new_sheet = new_book.add_sheet(sheet.name)

    # 遍历每个单元格
    for row in range(sheet.nrows):
        for col in range(sheet.ncols):
            cell = sheet.cell(row, col)
            value = cell.value
            # 替换翅膀为精灵
            if value is not None:
                if isinstance(value, str):
                    for old_str, new_str in replacements.items():
                        if old_str in value:
                            ischange = True
                            value = value.replace(old_str, new_str)
            new_sheet.write(row, col, value)
if ischange:
    # 保存新excel文件
    new_file = 'new_' + file
    book.release_resources()
    del book
    os.rename(file, new_file)
    new_book.save(new_file)
    del new_book
    os.rename(new_file, file)
print(f'已完成替换并保存到 {file}')

发表评论