import os
import os.path
import xlrd
l = [] # 获得文件列表
X = [] # 获得XLZX文件
def get_py(path, l):
fileList = os.listdir(path) # 获取path目录下所有文件
for filename in fileList:
pathTmp = os.path.join(path, filename) # 获取path与filename组合后的路径
if os.path.isdir(pathTmp): # 如果是目录
get_py(pathTmp, l) # 则递归查找
elif filename[-4:].upper() == "XLSX":
X.append(pathTmp)
elif filename[-3:].upper() != "VAL": # 将dataval文件去除
l.append(pathTmp)
path = input('请输入路径:').strip()
get_py(path, l)
# for i in l:
# print(i)
def alter(file, old_str, new_str):
"""
替换文件中的字符串
:param file:文件名
:param old_str:旧字符串
:param new_str:新字符串
:return:
"""
file_data = ""
with open(file, "r", encoding="utf-8") as f:
for line in f:
if old_str in line:
line = line.replace(old_str, new_str)
file_data += line
with open(file, "w", encoding="utf-8") as f:
f.write(file_data)
# alter("file1", "09876", "python")
def read_excel(bookname, sheetname):
# 打开Excel文件,将其中的一页变成字典
wb = xlrd.open_workbook(bookname)
sheet = wb.sheet_by_name(sheetname)
dic = {}
for i in range(sheet.nrows - 1):
lis = []
for j in range(sheet.ncols):
lis.append(sheet.cell(i + 1, j).value)
dic[sheet.cell(i + 1, 0).value] = lis
return dic
data = xlrd.open_workbook(X[0])
sheet_0 = data.sheet_by_index(0)
sheet_name = data.sheet_names() # 获得指定索引的sheet表名字
nrows = sheet_0.nrows # 获取行总数
print("4、", nrows)
ncols = sheet_0.ncols # 获取列总数
print("4、", ncols)
print(sheet_name[0])
R = []
for i in range(2,nrows):
R.append(sheet_0.row_values(i))
print(R)
for filename in l:
for n in R:
if filename[-1] == 'a':
for _ in n:
if filename[-7:-5] in _:
for q in range(2,len(n)):
alter(filename, R[0][q], n[q])
# alter(filename, R[0][3], n[3])
elif filename[-1] == 'p':
for _1 in n:
if filename[-10:-8] in _1:
for q in range(2, len(n)):
alter(filename, R[0][q], n[q])
改变文件内部数字
最新推荐文章于 2024-08-12 14:30:00 发布