今天工作时遇到需把每一个excel表中的平方米修改成公顷,有100多个表,所以打算写个python脚本,在网上查了之后都是不能保存原有格式的,后来直接用openpyxl库就可以直接操作excel表。
import os
import openpyxl
# 打开文件
COOKED_FOLDER = './EXCL/' #文件夹的相对地址
dirs = os.listdir( COOKED_FOLDER )
def tq(n):
path='./ZHWC/'+ n[7:int(len(n))]#保存路径
workbook=openpyxl.load_workbook(n)#读取Excel文件
sheet=workbook['Sheet1']#读取表
a=sheet['A']#拿到A列数据
tq=sheet['A5'].value#拿到我需要替换的数据
sr=float(tq[11:int(len(tq))])*0.0001#拿到需修改数字
sr='%.4f'%sr#保留4位小数
tq1=tq[0:4]+'(公顷):'+sr#替换的内容
for i in a:#遍历A列的每一项数据进行对比
if str(i.value)==str(tq):
i.value=tq1
workbook.save(path)#保存表
files=[]#存储excel文件名
for file in dirs:
files.append('./EXCL/%s'%(file))
for i in files:
tq(i)
print('修改完成')
这样就可以保存原有格式进行替换修改,如果要进行全表修改只需改变a获取全表数据,然后遍历全表修改。