import xlrd
import xlwt
import re
import os
def replace(match):
global k
k = k + 1
worksheet.write(k, 0, label='GameCodeIndex' + str(k))
worksheet.write(k, 1, label=str(match.group())[1:-1])
worksheet.write(k, 2, label='default')
worksheet.write(k, 3, label=file_detail_path)
return 'GameCodeIndex' + str(k)
def write_excel(file_path):
global file_detail_path
file_detail_path = file_path
f = open(file_path, 'r+', encoding='UTF-8')
luaText = f.read()
luaText = re.sub("\"[^\"\n\r]*[\u4e00-\u9fa5]+[^\"\r\n]*\"", replace, luaText)
f.seek(0)
f.truncate()
f.write(luaText)
f.close()
def get_file(cur_path):
cur_list = os.listdir(cur_path)
for i in range(0, len(cur_list)):
path = os.path.join(cur_path, cur_list[i])
if os.path.isfile(path):
file_list.append(path)
else:
get_file(path)
if __name__ == '__main__':
workbook = xlwt.Workbook(encoding='ascii')
worksheet = workbook.add_sheet('text')
k = -1
root = r"C:\Users\Martin\Desktop\dic"
file_list = []
get_file(root)
for i in range(0, len(file_list)):
path = file_list[i]
if path[path.index('.')+1:] == "lua":
print(file_list[i])
write_excel(file_list[i])
# write_excel(r"C:\Users\Martin\Desktop\a.lua")
# write_excel(r"C:\Users\Martin\Desktop\b.lua")
workbook.save('Excel_workBook.xlsx')
import xlrd
import re
def init():
for rx in range(0, table.nrows):
temp_list = []
index = table.cell(rx, 0).value
ori = table.cell(rx, 1).value
dest = table.cell(rx, 2).value
path = table.cell(rx, 3).value
temp_list = [index, ori, dest, path]
data_list.append(temp_list)
if path not in path_list:
path_list.append(path)
# print(table.cell(0, 0).value)
def find_des_by_index(index):
for value in data_list:
# print(value[0], value[1], value[2])
if str(value[0]) == str(index):
if str(value[2]) != "default":
return str(value[2])
else:
return '"' + str(value[1]) + '"'
return str(value[0])
def replace_code(match):
return find_des_by_index(match.group())
def write_text(lua_path):
f = open(lua_path, 'r+', encoding='UTF-8')
luaText = f.read()
luaText = re.sub("GameCodeIndex\d+", replace_code, luaText)
f.seek(0)
f.truncate()
f.write(luaText)
f.close()
if __name__ == '__main__':
data = xlrd.open_workbook('Excel_workBook.xlsx')
table = data.sheets()[0]
data_list = []
path_list = []
init()
for i in range(0, len(path_list)):
print(path_list[i])
write_text(path_list[i])
# write_text()