需要准备的文件:
EquipBase.txt
ItemCompound.txt
放在同一目录内,将代码粘贴到这里
1排除40级以下装备.py
2删除武器类.py
分别执行,就会生成
去除40级装备的文件
第一步删除40级以下的手工 :FilteredItemCompound.txt
第二步生成删除武器的文件:FilteredItemCompound_ExcludeWeapons.txt
1排除40级以下装备.py
def read_file(file_path, encoding='utf-8'):
with open(file_path, 'r', encoding=encoding) as file:
return [line.strip().split('\t') for line in file.readlines()]
try:
# 尝试使用UTF-8编码读取
item_compound_data = read_file('ItemCompound.txt')
except UnicodeDecodeError:
# 如果失败,则尝试使用GBK编码
item_compound_data = read_file('ItemCompound.txt', encoding='gbk')
# 同样的方法应用于读取EquipBase.txt
try:
equip_base_data = read_file('EquipBase.txt')
except UnicodeDecodeError:
equip_base_data = read_file('EquipBase.txt', encoding='gbk')
# 后续处理步骤保持不变...
# 将EquipBase数据转换为字典,以便快速查找
equip_base_dict = {row[0]: row for row in equip_base_data}
# 过滤掉等级低于40的装备
filtered_item_compound_data = []
for item in item_compound_data:
equip_id = item[2]
if equip_id in equip_base_dict:
equip_level = int(equip_base_dict[equip_id][11]) # 第12列是索引11
if equip_level >= 40:
filtered_item_compound_data.append(item)
# 可以选择将过滤后的数据写回到一个新文件,或按需处理
with open('FilteredItemCompound.txt', 'w', encoding='utf-8') as file:
for item in filtered_item_compound_data:
file.write('\t'.join(item) + '\n')
第二部分,执行删除武器类:'扇类', '双短类', '单短类', '弩类', '刀组类', '刀斧类', '枪棒类', '箫剑类', '长杖类', '环类'
2删除武器类.py
def read_file(file_path, encoding='utf-8'):
with open(file_path, 'r', encoding=encoding) as file:
return [line.strip().split('\t') for line in file.readlines()]
try:
item_compound_data = read_file('FilteredItemCompound.txt')
except UnicodeDecodeError:
item_compound_data = read_file('FilteredItemCompound.txt', encoding='gbk')
try:
equip_base_data = read_file('EquipBase.txt')
except UnicodeDecodeError:
equip_base_data = read_file('EquipBase.txt', encoding='gbk')
# 定义需要排除的装备类型
exclude_types = ['扇类', '双短类', '单短类', '弩类', '刀组类', '刀斧类', '枪棒类', '箫剑类', '长杖类', '环类']
# 将EquipBase数据转换为字典
equip_base_dict = {row[0]: row for row in equip_base_data}
# 过滤掉特定类型的装备
filtered_item_compound_data = []
for item in item_compound_data:
equip_id = item[2]
if equip_id in equip_base_dict:
equip_type = equip_base_dict[equip_id][22] # 第23列是索引22
if equip_type not in exclude_types:
filtered_item_compound_data.append(item)
# 写入过滤后的数据到新文件
with open('FilteredItemCompound_ExcludeWeapons.txt', 'w', encoding='utf-8') as file:
for item in filtered_item_compound_data:
file.write('\t'.join(item) + '\n')
全部代码:
装备排除.7z
(281.61 KB, 下载次数: 0, 售价: 100 金币)
|