import os
import easygui as eg
import win32com.client as win32
from openpyxl import load_workbook, Workbook
#文档格式转换 xls_to_xlsx
def save_as_xlsx(fname):
excel = win32.DispatchEx('Excel.Application')
wb = excel.Workbooks.Open(fname)
wb.SaveAs(fname + "x", FileFormat=51) # FileFormat = 51 is for .xlsx extension
wb.Close() # FileFormat = 56 is for .xls extension
excel.Application.Quit()
def pick_package():
return eg.diropenbox() # 打开windows窗口,选择一个文件夹
#输入原始井名和待替换井名
old_wellname=input('请输入原始井名')
new_wellname=input('请输入待替换井名')
if __name__ == "__main__":
package = pick_package()
files = os.listdir(package)
for fname in files:
if fname.endswith(".xls"):
print(fname + "正在进行格式转换,请稍后~")
try:
currentfile = package + "\\" + fname
save_as_xlsx(currentfile)
print(currentfile + "格式转换完成")
except:
print(currentfile + "格式转换异常)
else:
print("跳过非xls文件:" + fname)
#获取文件夹下所有文件名
filenames=os.listdir(package)
for filename in filenames:
if '.xlsx' in filename:
filepath=package+ "\\" + filename#通过文件路径,打开已有工作簿
print('开始处理'+filepath)
wb= load_workbook(filepath)
ws=wb.active
#处理工作表中井名
if old_wellname in ws.title:
ws.title=new_wellname
#处理第一列井名
for row in ws['A']:
if row.value=='' or row.value==new_wellname:
continue
if row.value==old_wellname:
row.value=new_wellname
wb.save(filepath)
print(filepath+'处理完成')
Python自动化办公-批量修改井名
最新推荐文章于 2023-06-10 04:15:04 发布