如何将pickle文件内字典键名中的空格替换为下划线
解决方案
错误原因
你原有代码存在两个问题:
- 字典推导式中错误对整个字典对象
data调用replace方法,该方法是字符串方法,需要作用于每个键k - 生成的新字典没有赋值给变量,也没有持久化写入文件,修改不会生效
修正后代码
import pickle # 读取原始pickle数据 with open('/data/record.pickle', 'rb') as f: data = pickle.load(f) # 遍历所有键,将空格替换为下划线后生成新字典 processed_data = {k.replace(' ', '_'): v for k, v in data.items()} # (可选)如果需要将修改后的结果持久化保存到原文件,添加以下代码 with open('/data/record.pickle', 'wb') as f: pickle.dump(processed_data, f)
验证方法
你可以执行以下代码查看替换后的键是否符合预期:
# 打印前10个键确认替换效果 print(list(processed_data.keys())[:10])
内容的提问来源于stack exchange,提问作者ML85
相关产品推荐
相关产品推荐

