Python之Excel编辑-[小试牛刀]批量替换excel中字符串
程序员文章站
2022-03-11 10:33:46
...
任务1:批量替换excel中指定字符串
解决思路:
逐个cell遍历Excel表格,进行字符串比对,找到匹配的cell,并将cell内容替换成新字符串
app = xw.App(visible=True, add_book=False)
file_list = os.listdir(file_path)
for file in file_list:
if '~$' in file:
continue
if file.split('.')[-1] != 'xlsx':
continue
wb = app.books.open(file_path + '\\' + file)
for sheet in wb.sheets:
for cell in sheet['A1'].expand('table'):#逐个cell遍历表格,这里可以通过range来设定搜索的范围
if cell.value == oldName:#比对cell的内容
cell.value = newName
wb.save()
wb.close()
app.quit()
任务2:批量替换指定区域内部分字符串
解决思路:
逐个cell遍历Excel表格中指定区域内单元格,进行字符串比对,若包含指定字符串,则将字符串进行替换后重新写入单元格内
app = xw.App(visible=True, add_book=False)
file_list = os.listdir(file_path)
for file in file_list:
if '~$' in file:
continue
if file.split('.')[-1] != 'xlsx':
continue
wb = app.books.open(file_path + '\\' + file)
for sheet in wb.sheets:
if sheet.name == 'Sheet1':
continue
for cell in sheet['A1:B3']: #遍历A1:B3区域内的单元格
try:
if oldName in cell.value: #检查是否包含指定字符串
cell.value = cell.value.replace(oldName, newName) #进行字符串替换后重新写入到对应cell中
except:
pass
wb.save()
wb.close()
app.quit()